请帮我修改一段程序好吗?

lyz9899 2005-10-12 10:32:33
我有这样一段程序:
Dim recsADO As New ADODB.Recordset
Dim cnn As New ADODB.Connection
Dim cmd1 As New ADODB.Command
cnn.ConnectionString = "DSN=Article;UID=sa;PWD=sa"
cnn.Open
cmd1.CommandText = "select distinct 车站 from 车站路线表"
Set cmd1.ActiveConnection = cnn
Set recsADO = cmd1.Execute
Debug.Print recsADO.RecordCount
List1.Clear
recsADO.MoveFirst
Do Until recsADO.EOF
List1.AddItem recsADO.Fields(0).Value
recsADO.MoveNext
Loop
Debug.Print List1.ListCount
运行后,立即窗口返回-1和93,我的记录数不是空,为什么会返回-1,请帮帮忙,谢谢!
...全文
84 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
winehero 2005-10-12
  • 打赏
  • 举报
回复
recsADO .CursorLocation=adUseClient
lyz9899 2005-10-12
  • 打赏
  • 举报
回复
大家不会嫌我给的分少吧,可是我就只有那么点分啊,我都给你们了,恳求大家帮帮忙,谢谢了!
igxk 2005-10-12
  • 打赏
  • 举报
回复
我也来看看!
lyz9899 2005-10-12
  • 打赏
  • 举报
回复
谢谢两位了,辛苦了!
faysky2 2005-10-12
  • 打赏
  • 举报
回复
上面的怎么写错了
Dim recsADO As New ADODB.Recordset
Dim cnn As New ADODB.Connection
cnn.ConnectionString = "DSN=Article;UID=sa;PWD=sa"
cnn.Open
recsADO.Open "select distinct 车站 from 车站路线表",cnn,3,2
Debug.Print recsADO.RecordCount
List1.Clear
recsADO.MoveFirst
Do Until recsADO.EOF
List1.AddItem recsADO.Fields(0).Value
recsADO.MoveNext
Loop
Debug.Print List1.ListCount
----------------------------------
recsADO.Open "select distinct 车站 from 车站路线表",cnn,3,2 '这句中的最后两个参数3和2分别表示:recsADO.CursorType = adOpenKeyset 和 recsADO.LockType = adLockOptimistic
faysky2 2005-10-12
  • 打赏
  • 举报
回复
你的程序还可以简化一些:
Dim recsADO As New ADODB.Recordset
Dim cnn As New ADODB.Connection
cnn.ConnectionString = "DSN=Article;UID=sa;PWD=sa"
cnn.Open
Debug.Print recsADO.RecordCount
List1.Clear
recsADO.MoveFirst
Do Until recsADO.EOFrecsADO.Open "select distinct 车站 from 车站路线表",cnn,3,2

List1.AddItem recsADO.Fields(0).Value
recsADO.MoveNext
Loop
Debug.Print List1.ListCount
----------------------------------
recsADO.Open "select distinct 车站 from 车站路线表",cnn,3,2 '这句中的最后两个参数3和2分别表示:recsADO.CursorType = adOpenKeyset 和 recsADO.LockType = adLockOptimistic

faysky2 2005-10-12
  • 打赏
  • 举报
回复
运行后,立即窗口返回-1和93,我的记录数不是空,为什么会返回-1
---------------------
因为默认的记录游标类型为服务器端游标,需要设置为客户端游标,recsADO.RecordCount才能返回正确的记录条数,否则,不关有无记录,都会返回-1

1,217

社区成员

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

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