Hallo Leute,
ich habe folgendes Problem:
ich möchte aus einer MS SQL Server 2005 Datenbank den Maximalwert einer Spalte ermitteln und diesen einer Variablen zuweisen. Der Code wurde in VBSkript mit ADO 2.8 (beides Vorgaben, d. h. bitte keine Vorschläge zur Nutzung von .Net oder anderen Lösungswegen) geschrieben und sieht auszugsweise folgendermaßen aus:
...
objConnection.Open
objConnection.DefaultDatabase = Datenbank
...
objRecordSet.CursorType = 3
objRecordSet.Open "SELECT MAX(Spaltenanme) FROM Datenbanktabelle",objConnection
MsgBox objRecordSet.RecordCount
strMaxwert = objRecordSet.GetString()
...
Für die letzte Zeile erhalte ich folgende Fehlermeldung: 'Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.'
Nach dem Open-Befehl erhalte ich folgende RecordSet-Eigenschaften:
.AbsolutePosition = 1
.BOF = false
.EOF = false
.RecordSet = 1
.state = 1
Nach dem MsgBox-Befehl sehen die Eigenschaften wie folgt aus:
.AbsolutePosition = -3
.BOF = false
.EOF = true
.RecordSet = 1
.state = 1
Die Fehlermeldung tritt unabhängig davon auf, ob ich den MsgBox-Befehl im Skript habe, oder nicht.
Was muss ich tun, um den Record einer Variablen zuweisen zu können? Wo liegt mein Fehler?
ich habe folgendes Problem:
ich möchte aus einer MS SQL Server 2005 Datenbank den Maximalwert einer Spalte ermitteln und diesen einer Variablen zuweisen. Der Code wurde in VBSkript mit ADO 2.8 (beides Vorgaben, d. h. bitte keine Vorschläge zur Nutzung von .Net oder anderen Lösungswegen) geschrieben und sieht auszugsweise folgendermaßen aus:
...
objConnection.Open
objConnection.DefaultDatabase = Datenbank
...
objRecordSet.CursorType = 3
objRecordSet.Open "SELECT MAX(Spaltenanme) FROM Datenbanktabelle",objConnection
MsgBox objRecordSet.RecordCount
strMaxwert = objRecordSet.GetString()
...
Für die letzte Zeile erhalte ich folgende Fehlermeldung: 'Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.'
Nach dem Open-Befehl erhalte ich folgende RecordSet-Eigenschaften:
.AbsolutePosition = 1
.BOF = false
.EOF = false
.RecordSet = 1
.state = 1
Nach dem MsgBox-Befehl sehen die Eigenschaften wie folgt aus:
.AbsolutePosition = -3
.BOF = false
.EOF = true
.RecordSet = 1
.state = 1
Die Fehlermeldung tritt unabhängig davon auf, ob ich den MsgBox-Befehl im Skript habe, oder nicht.
Was muss ich tun, um den Record einer Variablen zuweisen zu können? Wo liegt mein Fehler?
Comment