为什么datagrid不能修改数据?

nailgo 2003-04-04 06:20:10
我已把datagrid1AllowArrows,AllowDelete,AllowUpdate的属性设为true
Private Sub Form_Load()'建立连接
Set cnn1 = New ADODB.Connection
Set com1 = New ADODB.Command
Set rec1 = New ADODB.Recordset
cnn1.ConnectionString = "driver={sql server};server=gtd;uid=sa;pwd=;database=CLASS"
cnn1.Open
Set com1.ActiveConnection = cnn1
End Sub
'按下按钮时列出数据
Private Sub cmdList_Click()
com1.CommandText = "select * from zm"
rec1.Open com1, , adOpenKeyset, adLockOptimistic
Set DataGrid1.DataSource = rec1
End Sub
为什么直接点表格里的数据无法修改?就象是readonly一样
...全文
152 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cymwllbggyje 2003-04-17
  • 打赏
  • 举报
回复
真的没有高手会解答这个问题吗?
cymwllbggyje 2003-04-04
  • 打赏
  • 举报
回复
我试过了,改后,datagrid,会提示该行不可用。怎么回事?
lsftest 2003-04-04
  • 打赏
  • 举报
回复
看你的记录集是那一种记录集,如果是单一表的记录集应该可以正常更新,但如果你的记录集是两个表联结而成的就可能不允许更新了。。。
例如,如果你的ADO数据源的sql语句为:
select * from table1;
那么应该可以正常操作的,但如果你的表超过两个,例如:
select table1.name,table1.sex,table2.id,table3.address from table1,table2,table3 where table1.name=table2.name and table2.id=table3.id;
那就很可能会出现你说的情况。。。。一般来说不允许修改多表联结的记录集。。。
visualzuo 2003-04-04
  • 打赏
  • 举报
回复
设置datagrid的allowupdata=true,然后就可以更改记录了,完成后再设置回来,ok
visualzuo 2003-04-04
  • 打赏
  • 举报
回复
手动连接各种属性就可以显示的
leixuejun 2003-04-04
  • 打赏
  • 举报
回复
右击DATAGRID控件,看看里面是不是有什么没有设置好.
把那些允许都打上钩再试试.
czjw 2003-04-04
  • 打赏
  • 举报
回复
rec1.CursorLocation = adUseClient
rec1.Open "zm", cnn1, adOpenDynamic, adLockOptimistic

1,216

社区成员

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

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