hallo joachim,
> Das Problem bei Deinem Beispiel war, dass db.Execute() nicht immer ein
> Recordset liefert. Da Du aber den R�ckgabewert wie ein Recordset
> behandelt hast, kam die Fehlermeldung (closed).
>
> Wenn Du mit ADO direkt im Recordset arbeitest, kannst Du sehr viele
> m�gliche Probleme elegant behandeln.
>
> rs.State liefert 0 (closed), 1 (opened), 4 (executing), 8 (fetching)
>
> Fehlermeldungen sind doch so n�tzlich ...
>
habe jetzt meine db-verbindung gepr�ft und deinen ratschlag - rs.State
auszuwerten - befolgt (rs.State liefert immer 1) egal ober einen ds findet oder
nicht.
wenn er etwas findet klappt alles, er gibt den korrekten wert zur�ck aber
wenn nicht, dann kommt der fehler... �berseh ich irgendwas wichtiges??
*amverzweifeln
-----------
ADODB.Field-Fehler '80020009'
Entweder BOF oder EOF ist True, oder der aktuelle Datensatz wurde gel�scht;
die von der Anwendung angeforderte Operation ben�tigt einen aktuellen
Datensatz.
------------
meine db-verbindung:
------------
db_connect = "Provider=SQLOLEDB;Data Source=" & Servername & _
";" & "Initial Catalog=" & Datenbankname & ";User ID=" & _
Anwender & ";" & "Password=" & PW & ";"
set db = Server.CreateObject("ADODB.Connection")
db.Open db_connect
----------
der entsprechende sql-string (Vnr ist nvarchar) lautet:
----------
select Vorgangsnr AS VGN from dbo.t_vorgang where Vnr = '144000000000'
----------
so schicke ich ihn auf die reise:
-----------
set rs = db.Execute(sql1)
----------
der fehler kommt beim versuch der auswertung, bzw. dem zugriff auf das
objekt rs (und nix zur�ckgegeben wird)
und so werte ich aus:
----------
if not rs("VGN") = "" then...
oder
if not rs(0) = "" then...
oder
Response.Write(rs("VGN"))
etc.
-----------
--
GMX - Die Kommunikationsplattform im Internet.
http://www.gmx.net
| [aspdedatabase] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp