Access: Spaltennamen auslesen
legolas41
- asp.net
Hallo!
Wie kann ich Spaltennamen einer Access Datenbank auslesen? Ich habe hier folgendes kleines Script und möchte es gerne so modifizieren, dass ich auch die Namen der Spalten auslesen kann. Kann mir bitte jemand helfen?
------------------------------------------
<%
strConnection = "Driver={Microsoft Access Driver (*.mdb)};DBQ="
strConnection = strConnection & Server.MapPath("../db/shop.mdb")
strConnection = strConnection & ";DriverId=25;FIL=MS Access;MaxBufferSize=512;PageTimeout=5;"
strSQL = "SELECT * FROM lager_shop"
Set conn = CreateObject("ADODB.Connection")
conn.Open strConnection
Set rs = CreateObject ("ADODB.Recordset")
rs.Open strSQL, conn
If Not rs.EOF and Not rs.BOF Then
avarRecords = rs.GetRows()
Else
bNoRecords = True
End If
Response.Write rs.BOF
rs.Close
conn.Close
Set rs = Nothing
Set conn = Nothing
If Not bNoRecords Then
nRecords = UBound(avarRecords,2)
For intRecord = 0 To nRecords
strIdField = avarRecords(0,intRecord)
strArtikel = avarRecords(1,intRecord)
Next
End If
%>
------------------------------------------
Greetings
legolas
Kommando zurück!
Hab die Lösung selbst gefunden, hier ist sie, falls es jemand interessiert:
<%
strConnection = "Driver={Microsoft Access Driver (*.mdb)};DBQ="
strConnection = strConnection & Server.MapPath("../db/shop.mdb")
strConnection = strConnection & ";DriverId=25;FIL=MS Access;MaxBufferSize=512;PageTimeout=5;"
strSQL = "SELECT * FROM lager_shop"
Set conn = CreateObject("ADODB.Connection")
conn.Open strConnection
Set rs = CreateObject ("ADODB.Recordset")
rs.Open strSQL, conn
If Not rs.EOF and Not rs.BOF Then
avarRecords = rs.GetRows()
Else
bNoRecords = True
End If
'-------------------------
'Hier ist der Zusatz
for each feld in rs.fields
Response.Write feld.name
next
'-------------------------
rs.Close
conn.Close
Set rs = Nothing
Set conn = Nothing
If Not bNoRecords Then
nRecords = UBound(avarRecords,2)
For intRecord = 0 To nRecords
strIdField = avarRecords(0,intRecord)
strArtikel = avarRecords(1,intRecord)
Next
End If
%>
Sorry, wollte nicht spammen.
legolas
Hi, hallo
warum so ein unnötiger Umweg, das Recordset erst in ein Array umzuformen mit .getRows ???
ein Recordset ist doch schon "enumerable"
die Navigation erfolgt mit .MoveNext/First/Last usw.
ist das so eine doofe Angewohnheit aus PHP?
wozu » Response.Write rs.BOF ??
der DB Zugriff mittels JET.OLEDB.4.0 ist auch performanter als erst über ODBC zu gehen
Tschau, tschüß,
Frank
Hi!
Das Response.Write rs.BOF gehört da eigentlich garnicht rein. Sorry, hab ich versehentlich drin gelassen.
Auch die anderen Sachen sind nur deshalb drin, weil ich schnell ein bereits geschriebenes Script umgewandelt habe, um etwas zu testen.
Greetings
legolas