query的问题(100分)

  • 主题发起人 主题发起人 Andrew_78
  • 开始时间 开始时间
A

Andrew_78

Unregistered / Unconfirmed
GUEST, unregistred user!
我的程序中用到一个query1 ,它从两个表中选择字段,用deedit来显示选择出来的字段,
还用到 dbnavigator来移动纪录,程序运行时,只有四个箭头可用(只能浏览),我想修改数据,却不行
,请问如何实现?对于多表,如何将修改反映到各自对应表中?用query做dataset是否可以和table做
dataset一样实现数据的录入,修改,删除等?
 
要实现修改的,还是用TEdit比较好,显示用dbedit.
 
明确的回答你,不可以。只能通过SQL语句来实现TQUERY控件的保存、修改、删除。
直接用控件控制无法实现。
如果你觉得用QUERY用SQL语句检索数据比TABLE灵活。那么你可以使用ADOQUERY,
它结合了TABLE和QUERY的方法。检索数据方法和QUERY类似、操作方法和TABLE类似。
用控件可以直接控制保存、修改、删除。
 
只要用Query(CacheUpdate)+UpdateSQL组合,可以实现所有Table的功能(录入,
修改,删除),而且比Table来得灵活,对于写入UpdateSQL中的录入,修改,删除
的逻辑代码理论上可以为任意。
 
将Query的RequestLive属性设为True即可.
 
设置query1的RequestLive属性为true就可以!
 
对于联合查询的数据集,将Query的RequestLive属性设为True是不行的。
 
1.将Query的RequestLive属性设为True
2.用Query(CacheUpdate)+UpdateSQL组合
 
我将requestlive 属性设为true 好像不能完全解决问题,可以修改了,但是又出现了另一个
问题,运行时出现了下面的错误提示“record is locked by user wang"(wang 是登陆用户)
,这是什么原因?另外ADOQUERY是delphi自带控件,还是要去下载?

 
ADOQUERY是delphi自带控件,在面板中ADO页下
 
多人接受答案了。
 
后退
顶部