Avatar billede bondester Nybegynder
14. maj 2003 - 21:23 Der er 5 kommentarer og
3 løsninger

Udskriv Column, Column Types og Count

Jeg skal bruge lidt forskellige oplysninger fra en MySQL database!

Først skal jeg bruge en måde hvor jeg trækker de forskellige kollonnenavne ud! (Udskrevet i ASP)

Derefter skal jeg bruge de forskellige typer (VARCHAR, TEXT, INT osv.) Også udskrevet!

Til sidst skal jeg have udskrevet hvor mange kollonner der er i alt!

Jeg giver 60 point for hver spørgsmål besvaret!
Avatar billede eagleeye Praktikant
14. maj 2003 - 21:26 #1
Avatar billede mortrr Praktikant
14. maj 2003 - 21:26 #2
Avatar billede medions Nybegynder
14. maj 2003 - 21:26 #3
Har været igang med at lave en ASPMyAdmin, men blev aldrig færdig.. Så her har du det du skal bruge ;o)







<!-- #include file="config/conn.asp" -->
<%
  If Request.Form("choice") = "Create" Then
      strSQL = "CREATE TABLE " & Request.Form("TableName") & " (Applikationer text);"

    'Response.Write(strSQL)
    objConn.Execute(strSQL)
  End If
 
  If Request.Form("choice") = "Delete" Then
      strSQL = "DROP TABLE `" & Request.Form("TableName") & "`;"
    objConn.Execute(strSQL)
  End If
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <title>Untitled</title>
<style type="text/css">
        body {
            font-family: verdana;
            font-size: 11;
        }
       
        .content {
            font-family: verdana;
            font-size: 11;
        }
</style>
  <script language="JavaScript" type="text/javascript">
            function ChooseTable (who) {
                   
                  //document.location = "EditTable.asp?TblName=" + who + "";
          }
         
          function DoChoice () {
                    if (document.frm2.choice[0].checked) {
                        document.location = "EditTable.asp?TblName=" + document.frm2.TableName.options[document.frm2.TableName.selectedIndex].value;
                    } else {
                      document.frm2.submit();
                      //alert(document.frm2.choice);
                      //alert(document.frm2.TableName.options[document.frm2.TableName.selectedIndex].value);
                    }
          }
  </script>
</head>

<body>

Opret ny tabel:<br>
<form action="Default.asp?Create=Table" method="post">
<input type="text" name="TableName">
<input type="submit" value="Opret">
</form>
<table cellpadding="0" cellspacing="0" class="content">
      <tr>
            <td style="width: 150px;">
<%
  strSQL = "SHOW TABLES;"
  Set objRs = objConn.Execute(strSQL)
%>
<form name="frm2" action="default.asp" method="post">
<%
  Response.Write("<select name=""TableName"" multiple>")
  While Not objRs.EOF
        For Each Item In objRs.Fields
            With Response
                '.Write("<tr>")
                    '.Write "<td><a href=""EditTable.asp?TblName=" & objRs.Fields(Item.Name) & """>" & objRs.Fields(Item.Name) & "</a></td>"
                '.Write("</tr>")

                .Write("<option value=""" & objRs.Fields(Item.Name) & """>" & objRs.Fields(Item.Name) & "</option>")
            End With
        Next
  objRs.MoveNext()
  Wend
  Response.Write("</select>")
  Response.Write("</td><td>")
%>
<br>&nbsp;<br>
<table cellpadding="0" cellspacing="0" class="content">
      <tr>
            <td><input type="radio" name="choice" value="Edit"></td>
          <td>Rediger</td>
      </tr>
      <tr>
            <td><input type="radio" name="choice" value="Delete"></td>
          <td>Slet</td>
      </tr>
</table>     
<input type="button" value="Vælg" onclick="DoChoice();">
</form>
          </td>
    </tr>
</table>

</body>
</html>







Og så er der:



<!-- #include file="config/conn.asp" -->

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <title>Untitled</title>
</head>

<body>

<%
  strSQL = "SELECT " & Request.QueryString("Col") & " FROM " & Request.QueryString("TblName") & ";"
  Set objRs = objConn.Execute(strSQL)
 
  strType = Request.QueryString("Type")
  arrType = Split(strType, "(")
  strType = arrType(LBound(arrType))
%>

  <form name="frm1" action="EditColumns.asp?Save=Changes" method="post">
<% If strType = "tinytext" Then %>
        <textarea cols="20" rows="12" name="text"></textarea><br>
<% End If %>

<% If strType = "text" Then %>
        <textarea cols="20" rows="12" name="text"></textarea><br>
<% End If %>

<% If strType = "tinyint" Then %>
        <input type="text" name="text">
<% End If %>

<% If strType = "varchar" Then %>
        <input type="text" name="text">
<% End If %>
        <input type="submit" value="Opret">
  </form>
<%
 
  While Not objRs.EOF
          Response.Write("Test")
  objRs.MoveNext()
  Wend
%>

</body>
</html>

//>Rune
Avatar billede medions Nybegynder
14. maj 2003 - 21:27 #4
Hmm oxo lige den her:

<!-- #include file="config/conn.asp" -->

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <title>ASPMyAdmin</title>
</head>

<body>
<%
  If Request.QueryString("Save") = "Changes" Then
      For Each Item In Request.Form
        strColumns = strColumns & "," & Item
    Next

    strColumns = Right(strColumns, Len(strColumns) -1)
    'Response.Write(strColumns)

      For Each Item In Request.Form
    arrCheck = Split(Request.Form(Item), ",")
        If UBound(arrCheck) = 0 And IsNumeric(Request.Form(Item)) Then
              strValue = strValue & "," & Request.Form(Item)
        Else
              strValue = strValue & ",'" & Request.Form(Item) & "'"
        End If
    Next

    strValue = Right(strValue, Len(strValue) -1)
    'Response.Write(strValue)

    strSQL = "INSERT INTO " & Request.QueryString("TblName") & " (" & strColumns & ") VALUES (" & strValue & ")"
    objConn.Execute(strSQL)
    'Response.Write(strSQL)
  End If
%>

<table cellpadding="0" cellspacing="0">
      <tr>
            <td width="300">
  <form name="frm1" action="EditTable.asp?TblName=<%= Request.QueryString("TblName") %>&Save=Changes" method="post" style="display: inline;">
<%
  strTblName = Request.QueryString("TblName")
  strSQL = "SHOW COLUMNS FROM " & strTblName & ";"
  Set objRs = objConn.Execute(strSQL)

  Response.Write("<table cellpadding=""0"" cellspacing=""0"">")
  While Not objRs.EOF
  strType = objRs("Type")
  arrType = Split(strType, "(")
  strType = arrType(LBound(arrType))

        Response.Write("<tr>")
            With Response
                    '.Write "<td><a href=""EditColumns.asp?TblName=" & strTblName & "&Col=" & objRs.Fields("Field") & "&Type=" & objRs("Type") & """>" & objRs.Fields("Field") & "</td>"
                    If Not objRs.Fields("Field") = "ID" Then
                      .Write("<td width=""100"" valign=""top"">" & objRs.Fields("Field") & ": </td>")
                    Else
                      .Write ("<td width=""100"" valign=""top""></td>")
                    End If
                    .Write "<td>"
            End With

    If Not objRs.Fields("Field") = "ID" And strType = "tinytext" Then
        Response.Write("<textarea cols=""20"" rows=""12"" name=""" & objRs.Fields("Field") & """></textarea><br>" & vbCrLf)
    End If

    If Not objRs.Fields("Field") = "ID" And strType = "text" Then
        Response.Write("<textarea cols=""20"" rows=""12"" name=""" & objRs.Fields("Field") & """></textarea><br>" & vbCrLf)
    End If

    If Not objRs.Fields("Field") = "ID" And strType = "tinyint" Then
        Response.Write("<input type=""text"" name=""" & objRs.Fields("Field") & """>" & vbCrLf)
    End If

    If Not objRs.Fields("Field") = "ID" And strType = "varchar" Then
        Response.Write("<input type=""text"" name=""" & objRs.Fields("Field") & """>" & vbCrLf)
    End If

                Response.Write("</td>")
        Response.Write("</tr>")
  objRs.MoveNext()
  Wend
  Response.Write("</table>")
%>

        <input type="submit" value="Opret">
  </form>
          </td>
        <td valign="top">
<%
  strSQL = "SELECT * FROM " & Request.QueryString("TblName") & ";"
  Set objRs = objConn.Execute(strSQL)

  Response.Write("<table cellpadding=""0"" cellspacing=""0"">")

  intCount = 1
  While Not objRs.EOF

      If intCount = 1 Then
      strBG = "#cccccc"
    ElseIf intCount = 2 Then
      strBG = "#ffffff"
      intCount = 0
    End If

        Response.Write("<tr>")
          For Each Item In objRs.Fields
            If Item.Name = "UserID" Or Item.Name = "ID" Then
                Response.Write("<td width=""50"" bgcolor=""" & strBG & """>" & objRs.Fields(Item.Name) & "</td>")
            Else
                Response.Write("<td width=""150"" bgcolor=""" & strBG & """>" & objRs.Fields(Item.Name) & "</td>")
            End If
        Next
        Response.Write("</tr>")
    intCount = intCount + 1
  objRs.MoveNext()
  Wend
  Response.Write("</table>")
%>
        </td>
    </tr>
</table>

</body>
</html>


-du kan i hvertfald bruge SQL forspørgslerne!

//>Rune
Avatar billede mortrr Praktikant
14. maj 2003 - 21:30 #5
Antal kolonner ligger i rs.Fields.Count
Du kan hente alle feltnavne og typer og værdier med fx:
for i=0 to rs.Fields.Count
  Response.Write "<br>" & rs.Fields(i).Name & " - " & rs.Fields(i).Type & " - " & rs.Fields(i).Value
next
Avatar billede mortrr Praktikant
14. maj 2003 - 21:31 #6
Den går lige en tak for langt:
for i=0 to rs.Fields.Count-1
Avatar billede bondester Nybegynder
14. maj 2003 - 21:37 #7
Tak for den hurtige respons!

Jeg kan bruge alle tre svar, så jeg deler bare alle points lige over!
Tak for hjælpen!
Avatar billede medions Nybegynder
14. maj 2003 - 21:39 #8
Fair nok :o)
Thx 4 Poinz

//>Rune
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester