为什么我的DBGrid控件不能编辑数据(40分)

  • 主题发起人 主题发起人 天行者
  • 开始时间 开始时间

天行者

Unregistered / Unconfirmed
GUEST, unregistred user!
Form1上有三个控件 query1,dbgrid1,datasource1
用query1连接数据库,SQL语句为:
SELECT infGateInfo.GateID,
infGateInfo.GateName,
infGateInfo.GateAddress,
infGateUnit.UnitName,
infGateInfo.GateScale,
infGateInfo.GateInfo

FROM infGateInfo, infGateUnit
WHERE infGateInfo.GateUnit = infGateUnit.UnitID
ORDER BY infGateInfo.GateID
在显示数据时发现无论如何,也不能编辑grid中的数据

请问如何解决这个问题
 
你说得不能编辑是指dbgrid的内容编辑之后不能保存还是指别的??
 
Query1.RequestLive:=True;
 
to 风之彼端
我说的不能编辑是指grid上的内容不能编辑,不是指编辑后不能保存
 
query 本来就只读的,不能编辑的
 
你是什么数据库,如果是paradox之类的,查询出来的也是只读的.
要想修改使用update语句.
 
你的DBGrid的Options——dgEditing是不是没设为true?
 
DBGrid的Options——dgEditing应该设为true
另外DataSource 的autoEdit 也应该为true
 
将Query1的属性RequestLive设为True;
 
用另一个query来UPDATE它吧!
我认为即使能做到可以编辑QUERY的结果,也不一定能正确地写回到数据库中。
 
只有query1,dbgrid1,datasource1吗?
把dbgrid1的Options里dgEditing设为true
datasource1的autoEdit设为true
解决了给我点分啊
 
要想用Query查出的数据在Dbgrid里能修改还要使用控件UpdateSQL,还要设置Query的
CachedUpdates的属性为True,UpdateObject的属性值为UpdateSql1,所有修改数据的Sql语
句放在UpdateSql中,提交数据时使用Query1.ApplyUpdates
 

Similar threads

后退
顶部