MS Access db connection und recordsets
Helmut
- asp.net
Tag zusammen,
hab da ein keines problem
<%
Dim strConn, Conn, strPfadDB, SQLoben, SQLlinks, SQLhaubt
strPfadDB = Server.MapPath("/~db/edv.mdb")
strConn = "DRIVER=Microsoft Access-Treiber (*.mdb);UID=;PWD=;DBQ="
strConn = strConn & strPfadDB
SQLoben = "Select * From " & tbl_oben
SQLlinks = "Select * From " & tbl_links
SQLhaupt = "Select * From " & tbl_haupt
%>
Hier ein wenig HTML text
<%
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open SQLoben, strConn, 0, 1
Hier ein paar DB texte
rs.Close
set rs = nothing
%>
Wieder HTML
<%
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open SQLlinks, strConn, 0, 1
Hier ein paar DB texte
rs.Close
set rs = nothing
%>
Den ersten Recordset führt er mir aus aber beim zweiten bekomme ich einen unbekannten fehler.
Ich weiß das ich den gleichen rs nicht zweimal offen haben kann deswegen schliesse ich ihn.
Was mache ich falsch.
Schonmal danke für jede Antwort.
Gruß Helmut
Hallo,
hab da ein keines problem
<%
Dim strConn, Conn, strPfadDB, SQLoben, SQLlinks, SQLhaubt
strPfadDB = Server.MapPath("/~db/edv.mdb")strConn = "DRIVER=Microsoft Access-Treiber (*.mdb);UID=;PWD=;DBQ="
strConn = strConn & strPfadDB
Warum machst Du die Conn, die da ja eigens Dimensioniert wurde, nicht auf? ADODB.Recordset.Open funktioniert zwar auch mit einem ConnectionString, verlässlicher ist aber eine Connection.
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open SQLoben, strConn, 0, 1Hier ein paar DB texte
rs.Close
Ein ADODB.Recordset hat keine Methode Close. Hier wird der Fehler erzeugt.
viele Grüße
Axel
Hallo,
rs.Close
Ein ADODB.Recordset hat keine Methode Close. Hier wird der Fehler erzeugt.
Sorry, ist Quatsch, man braucht es nur nie, wenn man die Connection schließen kann.
Probiere mal, nur das recordset mit rs.Close zu schließen ohne die Variable rs auf Nothing zu setzten, dann musst Du nicht jedesmal ein neues ADODB.Recordset-Objekt erstellen, sondern öffnest mit rs.Open nur immer wieder ein neues Recordset. Eventuell liegt der Fehler dort.
viele Grüße
Axel
Hallo,
... einen unbekannten Fehler
Genauer kannst du den Fehler nicht spezifizieren? Obwohl, es gibt da imho ein paar "Unbekannte Fehler" bei ADO.
Zeigt er dir da nicht die Zeile an, wo es aufgetreten ist?
Was mache ich falsch.
eher mit "?" ;-)
Versuche doch am Anfang deiner Seite eine ADODB.Connection zu erzeugen, diese zu öffnen, das 1. Recordset zu öffnen, zu schließen, nochmal zu öffnen und wieder zu schließen und am Ende der Seite machst du die Connection wieder zu.
Du musst auch nicht den ODBC Treiber für MS Access benutzen, der ist eh nur (afaik) ein zusätzlicher Layer auf OLEDB. Ein Umweg, den du auf einem ASP-fähigem System eigentlich nicht gehen musst.
Ein ConnectionString sieht dann so aus (wenn mich nicht alles täuscht):
Provider=Microsoft.Jet.OleDb.4.0;Data Source=<PfadzurMDB>;User Id=admin;
HIH, Ciao, Frank