1
Значение rs.recordcount в mssql--asp отрицательное 1.
Только когда база данных вызывается в режиме ADO, существует счетчик записей. При использовании хранимой процедуры вам нужно использовать select count(*) from table_name, чтобы подсчитать его самостоятельно. .
? Это неправильно. Хранимые процедуры также можно открыть с помощью ADO, например: rs.open "exec SomeProc", conn, 1, 3. Мое решение - rs.open sql,conn,1,1 для решения этой проблемы.
2
Обычно люди используют следующие два метода для выполнения операторов SQL:
Установите Rs=Conn.Execute(SqlStr)
и
Установить Rs=Server.CreateObject("ADODB.RecordSet")
Rs.Open SqlStr,Conn,CursorType,LockType
(методы объекта RecordSet см. здесь).
Поскольку курсор набора записей по умолчанию является курсором сервера,
Rs.CursorLocation = adUseServer
Итак, верните Rs.RecordCount=-1,
Курсор сервера должен быть изменен на курсор клиента.
Rs.CursorLocation = adUseClient
Rs.Open SqlStr,Conn,CursorType,LockType
rs.cursortype
атрибут счетчика записей типа курсора
---------------------------------------
ForwardOnly 0 (по умолчанию) возвращает -1
Набор ключей 1 правильное количество записей
Динамический 2 -1 или неправильное количество записей, в зависимости от источника данных
Статическое 3 правильное количество записей
, поэтому Rs.CursorLocation = 3
Recordset.support("имя свойства") можно использовать для проверки того, поддерживается ли свойство.
http://www.dwww.cn/new/20051128112149636.html
3
Установить oRs = Server.CreateObject("ADODB.RecordSet")
oRs.Open SQL, oConn, 1, 1
Чтобы прочитать данные,
в противном случае используйте Select Count(*) As RecordCount From [table]
oRs("RecordCount") для получения
или использования Do While Not oRs.Eof
RecordCount = RecordCount + 1
Петля
4Моя база данных подключена следующим образом:
strconn = "DRIVER=Драйвер Microsoft Access (*.mdb);DBQ=" & Server.MapPath("bbs.mdb")
set conn = server.createobject("adodb.connection")
conn.open стрконн
sql="ВЫБРАТЬ * ИЗ пробела"
set rs=createobject("adodb.recordset")
rs.open sql,conn,1,1,
но набор записей действительно возвращен, и его можно отобразить