游标位置为adUseServer,类型为adOpenKeyset时而数据库表无主键时 报7004错,行集合不能作为标签。真的搞不懂了!!!

cly2004 2005-03-30 09:40:48

Dim Cn As New ADODB.Connection
Dim Rs As New ADODB.Recordset
Cn.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=mydata;Data Source=."
Cn.CursorLocation = adUseServer
Cn.Open
Rs.Open "select * from table1 ", Cn, adOpenKeyset, adLockOptimistic

'DataGrid1.DataFormats.Item(2) = "yes/no" '数据库中有一bool值,我这里不知怎么办了。

Set DataGrid1.DataSource = Rs

当table1中的有一主键没有问题,但没有主键时报了错 行集合不能作为标签

在这里我做了一些总结,能提一点意见吗?
http://blog.csdn.net/cly2004/archive/2005/03/29/333304.aspx?Pending=true

...全文
105 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
king 2020 2005-04-24
  • 打赏
  • 举报
回复
莫依果然好厉害啊
daisy8675 2005-03-31
  • 打赏
  • 举报
回复
游标最好用使用客户端数据游标
Conn.CursorLocation = adUseClient
如果不设置,会默认成为服务端

你要记得一点,Recordset只是对象,它本身是不知道自己里面有那些内容的。
你没有主键进行任何操作它都不识别。

从意义上说一个数据表没有建立主键也是不合格的数据表。
所以你加个主键吧
RUKYO 2005-03-31
  • 打赏
  • 举报
回复
我记得出现这个错误提示是由于数据表有相同记录造成的。
aiur2000 2005-03-31
  • 打赏
  • 举报
回复
没有主键的行集容易相同,这样在修改删除时就会出现定位不准,信息不足,不能删除。

作为标签这个就没听过了
cly2004 2005-03-31
  • 打赏
  • 举报
回复
up

741

社区成员

发帖
与我相关
我的任务
社区描述
VB 版八卦、闲侃,联络感情地盘,禁广告帖、作业帖
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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