1
mssql--asp의 rs.recordcount 값은 음수 1입니다
. ADO 모드에서 데이터베이스를 호출할 때만 레코드 개수가 있습니다. 저장 프로시저를 사용할 때 table_name에서 select count(*)를 사용하여 직접 계산해야 합니다. .
? 이는 잘못된 것입니다. 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]을 사용하세요.
- Do While Not oRs.Eof를
얻
거나 사용합니다.
RecordCount = RecordCount + 1
고리
4내 데이터베이스는 다음과 같이 연결됩니다:
strconn = "DRIVER=Microsoft Access Driver(*.mdb);DBQ=" & Server.MapPath("bbs.mdb")
conn = server.createobject("adodb.connection") 설정
conn.open strconn
sql="SELECT * FROM 공백 "
rs=createobject("adodb.recordset") 설정
rs.open sql,conn,1,1
그러나 실제로 반환된 레코드 세트가 있으며 표시할 수 있습니다.