Avatar billede xezbeth Nybegynder
01. april 2005 - 10:59 Der er 17 kommentarer og
1 løsning

while loop i asp

Hej jeg henter kolonne navne fra en tabel, og ved hjælp fra det indhold i disse kolonner, men jeg har problemer med at få dem placeret under hinanden....
lige nu ser tabellen heltt forkert ud, nogend er kan hjælpe???


    While Not rs.EOF
            columnName = rs("Column_Name")   
            Response.Write("<td>" & columnName & "</td>")
                While Not rsSQL.EOF
                    Response.Write("<tr><td>" & rsSQL(columnName) & "</td></tr>")
                    rsSQL.MoveNext
                Wend
            rs.MoveNext
        Wend
Avatar billede busschou Praktikant
01. april 2005 - 11:03 #1
jeg tror du bliver nød til at lave en table i din inderste while hvis du da vil lave det jeg tror du vil
Avatar billede busschou Praktikant
01. april 2005 - 11:05 #2
er det det her du vil:
----------------------------------
columnName| columnName| columnName|
-----------------------------------
rsSQL    | rsSQL    | rsSQL    |
rsSQL    | rsSQL    | rsSQL    |
osv?
Avatar billede xezbeth Nybegynder
01. april 2005 - 11:09 #3
ja det er lige præcis det jeg vil
Avatar billede busschou Praktikant
01. april 2005 - 11:10 #4
hm ville være nemmere hvis den var "tiltet" ;o)... tænke tænke
Avatar billede busschou Praktikant
01. april 2005 - 11:11 #5
hvordan ser din sql ud?...jeg mener laver du også en ny sql i hvert eneste løkke?
altså rsSQL i den ene kollonne er anderledes end rsSQL i den anden?
Avatar billede busschou Praktikant
01. april 2005 - 11:14 #6
foreslag
--------
<table>
  While Not rs.EOF
    response.write ("<td><table>")
    columName = rs("Column_Name")
    Response.Write("<td>" & columnName & "</td>")
    While Not rsSQL.EOF
      Response.Write("<tr><td>" & rsSQL(columnName) & "</td></tr>")
      rsSQL.MoveNext
    Wend
    response.write ("</table></td>")
  Wend
</table>
Avatar billede busschou Praktikant
01. april 2005 - 11:15 #7
det tror jeg måske vil virke på nær der måske bliver noget med en "border" som skal rettes til
Avatar billede xezbeth Nybegynder
01. april 2005 - 11:30 #8
den er der næsten, men det er kun indholdet af første kolonne der bliver vist :/ den løber ikke hele tabellen igennem

columnName| columnName| columnName|
-----------------------------------
rsSQL    |          |          |
rsSQL    |          |          |
Avatar billede busschou Praktikant
01. april 2005 - 11:32 #9
hmm må man se noget mere kode...og hvor du sætter din sql?
Avatar billede busschou Praktikant
01. april 2005 - 11:34 #10
for som koden er nu så løber du første gang rsSQL til EOF... i næste yderloop så tror jeg enten ikke der vil ske noget eller også løber den igennem og finder ingenting fordi der ikke er eksekveret en ny sql
rsSQL skal vel genereres/executes som ny efter hvert inderloop?
Avatar billede xezbeth Nybegynder
01. april 2005 - 11:39 #11
Set rsSQL = Server.CreateObject("ADODB.Connection")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DSN=DatabaseName"
Set rs = conn.OpenSchema(adSchemaColumns, Array(empty, empty, "Kunde"))

sql = "SELECT * FROM Kunde WHERE (Kunde = 'Test kunde')"
Set rsSQL = conn.Execute(sql)

%>
<table border="1" cellspacing="2" cellpadding="1" ID="Table1">
<%   





        While Not rs.EOF
            response.write ("<td><table border='1' cellspacing='2' cellpadding='1' >")
            columnName = rs("Column_Name")   
            Response.Write("<td>" & columnName & "</td>")
            While Not rsSQL.EOF
                Response.Write("<tr><td>" & rsSQL(columnName) & "</td></tr>")
                rsSQL.MoveNext
            Wend
            rs.MoveNext
            response.write ("</table></td>")
        Wend
%>
</table>
Avatar billede xezbeth Nybegynder
01. april 2005 - 11:39 #12
det er havd jeg har af kode
Avatar billede busschou Praktikant
01. april 2005 - 11:43 #13
ok men så er det klart for i din inderste løkke løber den hele rsSQL igennem så næste gang er der ikke mere
Men hvordan skal den ende op med at se ud?
Skal der stå de samme rsSQL i hver kollonne?
for så kan du gøre sådan her:
While Not rs.EOF
            response.write ("<td><table border='1' cellspacing='2' cellpadding='1' >")
            columnName = rs("Column_Name") 
            Response.Write("<td>" & columnName & "</td>")
            While Not rsSQL.EOF
                Response.Write("<tr><td>" & rsSQL(columnName) & "</td></tr>")
                rsSQL.MoveNext
            Wend
            rsSQL.MoveFirst
            rs.MoveNext
            response.write ("</table></td>")
        Wend
Avatar billede busschou Praktikant
01. april 2005 - 12:01 #14
jeg må indrømme jeg har lidt svært ved at lure dine øverste linjer:
---------------------------
Set rsSQL = Server.CreateObject("ADODB.Connection")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DSN=DatabaseName"
Set rs = conn.OpenSchema(adSchemaColumns, Array(empty, empty, "Kunde"))

sql = "SELECT * FROM Kunde WHERE (Kunde = 'Test kunde')"
Set rsSQL = conn.Execute(sql)
---------------------
Avatar billede xezbeth Nybegynder
01. april 2005 - 12:48 #15
Set rsSQL = Server.CreateObject("ADODB.Connection")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DSN=DatabaseName" 
Database forbindelsen

Set rs = conn.OpenSchema(adSchemaColumns, Array(empty, empty, "Kunde"))
For at finde kolonnerne i tabellen Kunde

sql = "SELECT * FROM Kunde WHERE (Kunde = 'Test kunde')"
Set rsSQL = conn.Execute(sql)
og det er så for at få indholdet
Avatar billede busschou Praktikant
01. april 2005 - 12:56 #16
ok men så vil jeg også mene at denne linje ikke giver mening og kan slettes
Set rsSQL = Server.CreateObject("ADODB.Connection")
Fordi du sætter den igen til
Set rsSQL = conn.Execute(sql)

I din sql vælger du jo kun hvor kunde er lig test kunde så du får vel også kun eet resultat...eller?
Avatar billede xezbeth Nybegynder
01. april 2005 - 12:59 #17
jo det har du helt ret i, det kan jeg godt se nu,

Tusind tak for hjælpen, du kan lige svare så får du points
Avatar billede busschou Praktikant
01. april 2005 - 13:00 #18
oki med doki :o)
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