1
Der rs.recordcount-Wert von mssql--asp ist negativ 1.
Nur wenn die Datenbank im ADO-Modus aufgerufen wird, gibt es einen Recordcount. Wenn Sie eine gespeicherte Prozedur verwenden, müssen Sie select count(*) aus table_name verwenden, um ihn selbst zu zählen .
? Das ist falsch. Gespeicherte Prozeduren können auch mit „ado“ geöffnet werden, zum Beispiel: rs.open „exec SomeProc“, conn, 1, 3. Meine Lösung ist rs.open sql,conn,1,1, um dieses Problem zu lösen.
2
Normalerweise verwenden Benutzer die folgenden zwei Methoden, um SQL-Anweisungen auszuführen:
Setze Rs=Conn.Execute(SqlStr)
Und
Setze Rs=Server.CreateObject("ADODB.RecordSet")
Rs.Open SqlStr,Conn,CursorType,LockType
(RecordSet-Objektmethoden finden Sie hier)
Da der Standard-Recordset-Cursor der Server-Cursor ist,
Rs.CursorLocation = adUseServer
Geben Sie also Rs.RecordCount=-1 zurück,
Der Server-Cursor sollte in einen Client-Cursor geändert werden.
Rs.CursorLocation = adUseClient
Rs.Open SqlStr,Conn,CursorType,LockType
rs.cursortype
Cursortyp-Recordcount-Attribut
----------------------------------------
ForwardOnly 0 (Standard) gibt -1 zurück
Keyset 1 richtige Anzahl Datensätze
Dynamisch 2 -1 oder falsche Anzahl von Datensätzen, abhängig von der Datenquelle
Statisch 3 korrekte Anzahl von Datensätzen
, also Rs.CursorLocation = 3
Recordset.support("property name") kann verwendet werden, um zu testen, ob die Eigenschaft unterstützt wird.
http://www.dwww.cn/new/20051128112149636.html
3
Setze oRs = Server.CreateObject("ADODB.RecordSet")
oRs.Open sSql, oConn, 1, 1
Um Daten zu lesen,
verwenden Sie andernfalls Select Count(*) As RecordCount From [table]
oRs("RecordCount") zum Abrufen
oder Verwenden von Do While Not oRs.Eof
RecordCount = RecordCount + 1
Schleife
4Meine Datenbank ist folgendermaßen verbunden:
strconn = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("bbs.mdb")
set conn = server.createobject("adodb.connection")
conn.open strconn
sql="SELECT * FROM space "
set rs=createobject("adodb.recordset")
rs.open sql,conn,1,1,
aber es wird tatsächlich ein Datensatz zurückgegeben, der angezeigt werden kann