最好不要直接用query修改数据,
用UpdataSql
因为直接用query修改数据不安全。
还有,用query前先写上:
query1.close;
query1.unprepare;
query1.sql.clear;
query1.sql.add('你的SQL语句');
query1.prepare;
query1.open(或query1.execsql);
用UpdataSql
因为直接用query修改数据不安全。
还有,用query前先写上:
query1.close;
query1.unprepare;
query1.sql.clear;
query1.sql.add('你的SQL语句');
query1.prepare;
query1.open(或query1.execsql);
解决方案 »
- 100分求助 SetWindowLongA
- 如何把一个FORM添加在一个PANEL中去
- 按钮凹凸问题
- VBScript和DELPHI结合中的超级难题,脚本中调用一个执行时间很长的函数如何避免锁定系统.
- 一个比较简单的窗口问题,但不知怎么才能达到!!
- 谁能提供delphi的一些模拟题
- InfoPower4000的问题
- 如何判断一个窗口是TOPMOST还是TOP-LEVEL窗口?
- StringGrid1.Canvas.pen.Color := clgreen; 为什么不管用啊?????
- 如何利用列表框中的数据作为查询条件读取一个数据表,并把读取到的数据插到新表
- 怎样让query中的记录与Table中的记录同步?
- 关于midas的连接问题,救救我,老板要炒人了
with query1 do
begin
close;
sql.clear;
sql.add('update table set p_id='''+s+''' where p_id=''8''');
//s值为1 (string)
execsql; close;
sql.clear;
sql.add('select * from table where p_id='''+s+''''); //s值为1 (string)
open;
//Query2.RequestLive :=true; 这里设定true了
end;//然后在dbgrid中修改记录 提示出错
应:query2.close;query2.open;
还有你不要把query2的CachedUpdates属性设为TRUE,要FALSE。不然会出错的。
再者,你可以在query2的AfterScroll事件中写query2.edit; 以保持query2为修改状态。
但我还是要劝你,不要直接用query进行数据操作,很不安全的。我就吃过苦了!