25. juli 2005 - 14:32Der er
28 kommentarer og 2 løsninger
Field names
Jeg har denne linje der viser oplysningerne i min database: response.write "<TR " & BC & " ><td height=30>" & rs ("emne1") & "</TD><td height=30>" & rs("emne2") & "</TD><td height=30>" & "<a href='mailto:" & rs("Email") & "'>" & rs("Email") & "</a>" & "</TD><td height=30>" & rs("emne5") & "</TD><td height=30>" & rs("emne6") & "</TD><td height=30>" & rs("emne7") & "</TD></TR>" Hvad skal jeg tilføje for, at den tager field names med ind fra databasen som overskrifter?
Nej, det er noget jeg har skrevet for ikke, at komme med for mange oplysninger. Den henter indholdet af databasen ind, men ikke overskrifterne. Dem vil jeg også gerne have med.
i ovenstående link finder du følgende eksempel -- <% set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open "c:/webdata/northwind.mdb"
set rs = Server.CreateObject("ADODB.Recordset") rs.open "Select * from orders", conn
set f=Server.CreateObject("ADODB.Field")
'Display the field attributes of the Orders Table for each f in rs.Fields response.write("Attr:" & f.Attributes & "<br />") response.write("Name:" & f.Name & "<br />") response.write("Value:" & f.Value & "<br />") next
rs.Close conn.close set rs=nothing set conn=nothing %>
Jeg kan ikke se hvordan du nemt kan hive det ud hvis du vil have det med for hver eneste række? Hvis du vil have det som en slags table header til en tabel, så er metoden som ovenfor her at hive felterne ud, og dernæst løbe sine records igennem på normal vis :o)
jeg er lidt i tvivl om hvor præcis du vil have det Kan du ikke prøve at vise et "tænkt" scenarie med indrykning, så det er mere til at finde rundt i end det øverste :o) ?
jeg bliver desværre nød til at smutte for idag :o(, men vender frygtelig tilbage i morgen, hvis ikke du inden da har fået hjælp eller luret det selv efter eksemplet
utestet, men sådan her ville jeg tro ---- <% Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("database.mdb") Conn.Open DSN
strSQL = "Select * From bruger Order by ID Desc" Set rs = Conn.Execute(strSQL)
set f=Server.CreateObject("ADODB.Field") response.write "<tr>" for each f in rs.Fields response.write("<th>" & f.Name & "</th>") next response.write "<tr>"
Do bcshift=not bcshift if bcshift then Bc = "1 px bccolor=#FFFFFF" Bg = "bgcolor=#FFFFFF" else Bc = "1 px bccolor=#FFFFFF" BG = "bgcolor=#FFFFFF" end if response.write "<TR " & BC & " ><td height=30>" & rs ("Username") & "</TD><td height=30>" & rs("Name") & "</TD><td height=30>" & "<a href='mailto:" & rs("Email") & "'>" & rs("Email") & "</a>" & "</TD><td height=30>" & rs("Subject") & "</TD><td height=30>" & rs("Comment") & "</TD><td height=30>" & rs("Phone") & "</TD></TR>" rs.MoveNext Loop until rs.eof response.write "</TABEL>"
ok det virkede ikke hos mig med et field, det gad den ikke oprette Men det virker med et schema, det løber hele databasen igennem, så der skal man bare huske definere den enkelte tabelnavn ---- <% Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("database.mdb") Conn.Open DSN
Nu har jeg prøvet begge. Jeg kan ikke få nogen af dem til, at virke. Den med Schema giver fejl i farve koden, straks jeg sætter den ind og når den er oploaded kommer den med denne fejlmelding:
Error 500:100 :
ASP Code 0 Number -2146827286 Source response.write </tr> File /xxx.asp Line 90 Column 15 Description Syntax error ASP Description - SQL Query -
Ja, det begynder, at ligne noget.. :-) Kan jeg bestemme hvilke fieldnames den tager med? Jeg vil f.eks ikke have ID nøglen med. Jeg bruger dreamweaver. Der har koderne farver, f.eks grønne m.v. Hvis det man laver er forkert skifter der farver.
oki doki Det som udskriver overskrifterne er denne løkke -- Set rs=Conn.OpenSchema(4) do until rs.EOF if rs("TABLE_NAME") = "bruger" then response.write "<th>"&rs("COLUMN_NAME")&"</th>" end if rs.MoveNext loop -- rs("TABLE_NAME") bestemmer hvilken tabel, i det her tilfælde "bruger" rs("COLUMN_NAME") bestemmer hvilken kollonne, i det her tilfælde alle i tabellen Du kan så bare spørge på kolonnen i en if sætning -- Set rs=Conn.OpenSchema(4) do until rs.EOF if rs("TABLE_NAME") = "bruger" And rs("COLUMN_NAME") <> "ID" then response.write "<th>"&rs("COLUMN_NAME")&"</th>" end if rs.MoveNext loop -- Jeg er ikke sikker på om den er case sensitive eller ej, så hvis "ID" er "id" eller "Id" kan det være du skal rette det :o)
Alletiders, det virker. :-) Hvordan hvis jeg vil udelukke 2 forskellige? Skriver jeg så Set rs=Conn.OpenSchema(4) do until rs.EOF if rs("TABLE_NAME") = "bruger" And rs("COLUMN_NAME") <> "ID","Navn" then response.write "<th>"&rs("COLUMN_NAME")&"</th>" ?
Ja det går nok :o) Det gør du i denne her response.write "<th>"&rs("COLUMN_NAME")&"</th>" Så styler du <th> fuldstændig som du ville style en <td> altså response.write "<th style="text-align:right; font-size: 130%">"&rs("COLUMN_NAME")&"</th>" altså ganske normal style css kode som du kan finde masser af her http://www.w3schools.com/css/
"<th style="text-align:right; font-size: 130%">"&rs("COLUMN_NAME")&"</th>" Jeg kan kun få den til, at fungere hvis jeg fjerner et sæt " så den ser sådan her ud: "<th style=text-align:left; font-size:14px>"&rs("COLUMN_NAME")&"</th>"
Den reagerer til gengæld kun på align ikke på font størrelsen eller type. Hvad kan være galt?
Det er fordi du har den inden i en response.write, der skal alle " laves om til "" for at du kun får een " i html Altså koden som i html skal se sådan her ud <th style="text-align:right; font-size: 130%"> skal se sådan her ud i din response response.write "<th style=""text-align:right; font-size: 130%"">" Det er jo fordi asp benytter " til at starte og afslutte strenge med
Det var så lidt da - anytime :o) Tak for point, evt karma ville også være rart ;o)
Godt det virker
Synes godt om
Ny brugerNybegynder
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.