谁给说说Adodb.command.execute的问题

watanuolys 2006-09-25 01:17:45
我照着msdn写的,但是rs 的 recordCount是 -1
谁有执行成功的语句?
我就想用 command.execute来执行sql,不想用rs.open.

Dim cn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset

cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Testdb.mdb;"
cmd.ActiveConnection = cn
cmd.CommandText = "select * from sampletbl"
Set rs = cmd.Execute

Do While Not rs.EOF
For i = 0 To rs.Fields.Count - 1
MsgBox rs.Fields(i).Value
Next
rs.MoveNext
Loop

...全文
210 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
mbmseason 2006-11-04
  • 打赏
  • 举报
回复
现在可知的原因是Execute返回的Recordset不支持反向提取,无法自动定位EOF,所以计算不出PageCount的值;
不过,Recordset确实已经被填充了数据了,使用MoveNext配合EOF也可以遍历数据集
mustudent 2006-09-25
  • 打赏
  • 举报
回复
Dim Con As New ADODB.Connection
Dim Com As New ADODB.Command
Dim Rs As New Recordset
Con.ConnectionString = Me.Adodc1.ConnectionString
Con.Open
Com.ActiveConnection = Con
Com.CommandType = adCmdText
Com.CommandText = "SELECT * FROM TTT"
Set Rs = Com.Execute
Set Me.DataGrid1.DataSource = Rs
mustudent 2006-09-25
  • 打赏
  • 举报
回复
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Testdb.mdb;"
Set rs = CON.EXEC "select * from sampletbl"

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧