Avatar billede marie14 Nybegynder
25. juli 2005 - 14:32 Der 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?
Avatar billede busschou Praktikant
25. juli 2005 - 14:37 #1
Fieldnames ..
Mener du at når du skriver rs("emne6") så vil du have den til at skrive "emne6" ?
For så er det vist lettest selv blot at skrive det ;o)
Avatar billede busschou Praktikant
25. juli 2005 - 14:41 #2
Du kan se et eksempel her på hvordan man vha ADO kan hente bla FieldName
http://www.w3schools.com/ado/prop_name.asp
Avatar billede marie14 Nybegynder
25. juli 2005 - 14:42 #3
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.
Avatar billede busschou Praktikant
25. juli 2005 - 14:43 #4
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
%>
Avatar billede busschou Praktikant
25. juli 2005 - 14:46 #5
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)
Avatar billede marie14 Nybegynder
25. juli 2005 - 15:19 #6
Det ser lovende ud, men kan du evt. hjælpe mig lidt med hvordan jeg får det kombineret med det jeg har i forvejen?
Avatar billede marie14 Nybegynder
25. juli 2005 - 15:29 #7
Jeg må jo afprøve det og se om jeg kan få det til, at virke...
Avatar billede busschou Praktikant
25. juli 2005 - 15:34 #8
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) ?
Avatar billede marie14 Nybegynder
25. juli 2005 - 16:18 #9
Her er asp scriptet på siden, med lidt ændrede navne:

<%
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)

response.write "<TABLE width=800px; border=1px; bordercolor=#99CCFF>"
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>"

Conn.Close
Set Conn = Nothing

%>
Avatar billede busschou Praktikant
25. juli 2005 - 16:50 #10
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
Avatar billede marie14 Nybegynder
26. juli 2005 - 11:05 #11
Hvornår kommer du igen?
Avatar billede busschou Praktikant
26. juli 2005 - 11:18 #12
im back ;o)
Hvor vil du have det ind henne?
Avatar billede marie14 Nybegynder
26. juli 2005 - 11:23 #13
Det skal vel ind inden den udskriver resten, ikke?
Avatar billede busschou Praktikant
26. juli 2005 - 11:24 #14
ok to sek :o)
Avatar billede busschou Praktikant
26. juli 2005 - 11:31 #15
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)

response.write "<TABLE width=800px; border=1px; bordercolor=#99CCFF>"

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>"

Conn.Close
Set Conn = Nothing
%>
Avatar billede busschou Praktikant
26. juli 2005 - 11:47 #16
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

response.write "<TABLE width=800px; border=1px; bordercolor=#99CCFF>"
response.write "<tr>"

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

response.write </tr>

strSQL = "Select * From bruger Order by ID Desc"
Set rs = Conn.Execute(strSQL)

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>"

Conn.Close
Set Conn = Nothing
%>
Avatar billede marie14 Nybegynder
26. juli 2005 - 12:38 #17
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 -
Avatar billede busschou Praktikant
26. juli 2005 - 12:41 #18
ahh det er bare fordi jeg skrev for hurtigt
--
response.write </tr>
--
skal selvfølgelig være
--
response.write "</tr>"
--
i det sidste eksempel :o)
Avatar billede busschou Praktikant
26. juli 2005 - 12:42 #19
farve koden ?
Er da lige nysgerrig for hvilken editor du benytter :o)
Avatar billede marie14 Nybegynder
26. juli 2005 - 12:48 #20
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.
Avatar billede busschou Praktikant
26. juli 2005 - 12:52 #21
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)
Avatar billede marie14 Nybegynder
26. juli 2005 - 13:00 #22
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>"
?
Avatar billede busschou Praktikant
26. juli 2005 - 13:04 #23
så gør du sådan her
if rs("TABLE_NAME") = "bruger" And rs("COLUMN_NAME") <> "ID", And rs("COLUMN_NAME") <> "Navn" then
osv med flere And imellem

Godt det virker :o)
Avatar billede busschou Praktikant
26. juli 2005 - 13:14 #24
hov hov ingen komma sorry
if rs("TABLE_NAME") = "bruger" And rs("COLUMN_NAME") <> "ID" And rs("COLUMN_NAME") <> "Navn" then
Avatar billede marie14 Nybegynder
26. juli 2005 - 13:41 #25
Det virker bare! :-)
Må jeg komme med et sidste spørgsmål?
Hvordan styrer jeg font typen og placeringen af fieldnavnene?
Avatar billede busschou Praktikant
26. juli 2005 - 13:46 #26
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/
Avatar billede marie14 Nybegynder
26. juli 2005 - 14:21 #27
"<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?
Avatar billede busschou Praktikant
26. juli 2005 - 14:33 #28
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
Avatar billede marie14 Nybegynder
26. juli 2005 - 14:40 #29
Super!
Nu virker det!
Tusind tak for din tålmodige hjælp. :-)
Mvh. Marie
Avatar billede busschou Praktikant
26. juli 2005 - 14:42 #30
Det var så lidt da - anytime :o)
Tak for point, evt karma ville også være rart ;o)

Godt det virker
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