数据库连接得到的结果集的处理
Dim Rs,SqSet Conn = CreateObject("Adodb.Connection")
Set Rs = CreateObject("Adodb.RecordSet")
Conn.ConnectionString="Provider=MSDAORA.1;User ID=irpt411;Password=irpt411;Data Source=MYORCL;Persist Security Info=False"
Conn.Open
If Conn.State = 0 Then
Reporter.ReportEvent micFail, "测试连接","数据库连接失败!"
Conn.Close
Set Conn = Nothing
Else
Reporter.ReportEvent micPass, "测试连接","数据库连接成功!"
Set Rs = CreateObject("Adodb.RecordSet")
strSql = "Selectindex_,useridfrom irpt411.IRPT_USERS"
Rs.Open strSql,Conn
Rs.MoveFirst
Do
Rs.MoveNext
Reporter.ReportEvent micPass,"数据为:", cstr(Rs(0)) & cstr(Rs(1))
Reporter.ReportEvent micPass,"数据为:", Rs.Fields(0)+Rs.Fields(1)
Loop Until Rs.EOF= True
Rs.Close
Set Rs = Nothing
Conn.Close
Set Conn = Nothing
End If
为什么红色标记的两种方法都得不到结果?运行提示General run error. 原因知道了
是数据库里只有1条记录,所以改成下面这样就可以了
Dim Rs,Sq
Set Conn = CreateObject("Adodb.Connection")
Set Rs = CreateObject("Adodb.RecordSet")
Conn.ConnectionString="Provider=MSDAORA.1;User ID=irpt411;Password=irpt411;Data Source=MYORCL;Persist Security Info=False"
Conn.Open
If Conn.State = 0 Then
Reporter.ReportEvent micFail, "测试连接","数据库连接失败!"
Conn.Close
Set Conn = Nothing
Else
Reporter.ReportEvent micPass, "测试连接","数据库连接成功!"
Set Rs = CreateObject("Adodb.RecordSet")
strSql = "Selectindex_,useridfrom irpt411.IRPT_USERS"
Rs.Open strSql,Conn
Rs.MoveFirst
Do
Reporter.ReportEvent micPass,"数据为:", cstr(Rs(0)) & cstr(Rs(1))
Reporter.ReportEvent micPass,"数据为:", cstr(Rs.Fields(0))+cstr(Rs.Fields(1))
Rs.MoveNext
Loop Until Rs.EOF= True
Rs.Close
Set Rs = Nothing
Conn.Close
Set Conn = Nothing
End If 很多ASP或VB连接数据库的教程,都喜欢用Rs.MoveFirst
其实这个是不必要的,记录集打开时,指针是指在第一条记录的
另外我喜欢用
do while not rs.eof
...
rs.movenext
loop
还有一个地方,很多资料也喜欢直接这样写
Rs.Open strSql,Conn
这样并不是一个很好的编程习惯,
我建议记录集打开时,同时指定它的游标类型
比如:
rs.Open strSql,Conn,1,1
rs.Open strSql,Conn,2,3
等。。大家有兴趣可以了解一下记录集游标类型,呵呵。 很有意思,我也会试试的:lol :lol ADO教程:
http://www.w3school.com.cn/ado/index.asp 原帖由 sterson 于 2010-7-31 22:43 发表 http://bbs.51testing.com/images/common/back.gif
很多ASP或VB连接数据库的教程,都喜欢用Rs.MoveFirst
其实这个是不必要的,记录集打开时,指针是指在第一条记录的
另外我喜欢用
do while not rs.eof
...
rs.movenext
loop
还有一个地方,很多资料也喜欢直 ...
使用游标有什么好处咧…… 原帖由 TIB 于 2010-8-3 15:43 发表 http://bbs.51testing.com/images/common/back.gif
ADO教程:
http://www.w3school.com.cn/ado/index.asp
谢谢,很全面
页:
[1]