QUERY的问题!!(50分)

  • 主题发起人 主题发起人 raul96
  • 开始时间 开始时间
R

raul96

Unregistered / Unconfirmed
GUEST, unregistred user!
我在QUERY1控件中用SQL语句: SELECT * FROM XX(表名) WHERE ……
选择部分记录显示在DBGRID中,我想直接在DBGRID中对记录进行修改,但改动不了!!
此时QUERY的REQUESTLIVE的属性已改为TRUE!!请问我还需要改动什么才能实现在DBGRID中直接修改记录!!
 
如果条件不复杂的话,可以用table1.filter来代替query,
这时的dbgrid是可以直接修改的。
 
你应该先看看Query1执行完SQL语句以后的CanModify(只读)属性是否为True;
如果不是True,那肯定不可以修改。而不论QUERY的REQUESTLIVE的属性为何值!
 
你是否有权限修改这个表.
你这个select是否涉及到多个表
 
SELECT * FROM XX(表名) WHERE ……

是否还有ORDER BY ...
 
用Tquery+Tupdatesql,不管有没有order by ....都有可以修改。不信试一试。
 
谢谢大家!!已经找出来了!!是ORDER BY 的问题!!
 
不能用QUERY来直接更改记录,可以用Table来实现。
如果想实现过滤,可以用Fileter来实现。
Table1.Fileter := 'Field1 = '条件''
Table1.Fieltered := True;
这样可以直接修改记录。
 
多人接受答案了。
 
后退
顶部