ADO問題﹐在線

hdslah 2003-12-26 02:02:43
Dim rs As New ADODB.Recordset
rs.Open "execute sp_procedure", Cnn, adOpenStatic, adLockReadOnly, adCmdText
為什么rs.recordcount=-1,當將數據集賦給Dtagrid時只有表頭而沒記錄。
其實在數據庫查詢分析器中執行﹕execute sp_procedure有100條記錄。
...全文
7 点赞 收藏 11
写回复
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
hdslah 2003-12-26
hzybc(网友帮帮忙;帮帮网友忙) ,謝謝﹐加上這句一切都OK了。請問有專講這方面(ADO)的資料嗎?
回复
liaoxing 2003-12-26

cn.CursorLocation = adUseClient
rs.CursorType = adOpenStatic
DataGrid1.Refresh
加上这几句应该可以了吧.我以前也碰到过这种问题
回复
liaoxing 2003-12-26
CN.CursorLocation = adUseClient

回复
hzybc 2003-12-26
Set rs = Cnn.Execute("select * from aa")
没有指定记录集的类型,

rs.Open "select * from aa", Cnn, adOpenStatic, adLockReadOnly, adCmdText
是静态的记录类型


在你程序中加一句:CN.CursorLocation = adUseClient
回复
hdslah 2003-12-26
為什么﹕
Set rs = Cnn.Execute("select * from aa")
rs.recordcount=-1
而﹕
rs.Open "select * from aa", Cnn, adOpenStatic, adLockReadOnly, adCmdText
rs.recordcount=100
回复
jornet 2003-12-26
rs.Open "execute sp_procedure", Cnn, adOpenStatic, adLockReadOnly, adCmdText
-----------
把adLockReadOnly换成别的试试呢
回复
hdslah 2003-12-26
set rs=cn.excute ("execute sp_procedure")這樣沒問題﹐但還是根以前一樣﹐grid里有結構(表頭)但沒記錄
回复
jhzhou882 2003-12-26
有的驱动不支持
回复
SoHo_Andy 2003-12-26
去掉set 试试
rs=cn.excute "execute sp_procedure"
回复
hdslah 2003-12-26
set rs=cn.excute "execute sp_procedure"
這條語句編譯出錯﹕end of satement
但這條沒問題﹕cn.excute "execute sp_procedure"這是為什么?
回复
SoHo_Andy 2003-12-26
Dim rs As New ADODB.Recordset
dim cn as New ADODB.Connection

cn.open "..."
set rs=cn.excute "execute sp_procedure"
回复
发动态
发帖子
VB基础类
创建于2007-09-28

7453

社区成员

VB 基础类
申请成为版主
社区公告
暂无公告