v_jsgs是个计算公式,其实就是更新一个表 update table1 set a4=a1+a2+a3
设置qry_auto.UpdateObject := qry_js
qry_auto.UpdateObject := qry_js 这句话根本无法执行啊
我靠,你在那个query里每次动态写语句时,都不带清空以前的垃圾的吗?我真为那个query悲哀! 参考SQL(添加部分): query1.sql.clear; query1.sql.add('what what what')
关键是和query1.sql.clear;没有关系,我query1.sql.text:='sdfs';实际上已经把原来的冲掉了,就象我们和变量不是一样吗? 关键问题是我再在DGRID中操作数据时,有时会出现这样的错误:couldn't peroform the edit because another user change the record; 还有一个字段定义了NUMBER(8,2),但是我如果出入的数据超出这个范围也报错,出现这样的错误
对呀是没什么关系 你操作dbgrid过程可不可细说一下 把相关的代码都贴上来
好吧 在DBGRIDE的我就执行了这样的语句: var v_jsgs:string; begin //计算各项 qry_auto.Close; qry_auto.SQL.Clear; qry_auto.SQL.text:='select code,name,jsgs from jisuan_gsb where code<>''D'' and code<>''C'''; qry_auto.Open; while not qry_auto.eof do begin v_jsgs:=qry_auto.fieldbyname('jsgs').asstring; qry_js.Close; qry_js.SQL.text:='update '+v_table+' set '+v_jsgs; qry_js.ExecSQL; qry_auto.Next; end; 如果将这些程序去掉,就不出错,怎么会事啊?end;
update table1 set a4=a1+a2+a3
这句话根本无法执行啊
参考SQL(添加部分):
query1.sql.clear;
query1.sql.add('what what what')
关键问题是我再在DGRID中操作数据时,有时会出现这样的错误:couldn't peroform the edit
because another user change the record;
还有一个字段定义了NUMBER(8,2),但是我如果出入的数据超出这个范围也报错,出现这样的错误
你操作dbgrid过程可不可细说一下
把相关的代码都贴上来
在DBGRIDE的我就执行了这样的语句:
var
v_jsgs:string;
begin
//计算各项
qry_auto.Close;
qry_auto.SQL.Clear;
qry_auto.SQL.text:='select code,name,jsgs from jisuan_gsb where code<>''D'' and code<>''C''';
qry_auto.Open;
while not qry_auto.eof do
begin
v_jsgs:=qry_auto.fieldbyname('jsgs').asstring;
qry_js.Close;
qry_js.SQL.text:='update '+v_table+' set '+v_jsgs;
qry_js.ExecSQL;
qry_auto.Next;
end;
如果将这些程序去掉,就不出错,怎么会事啊?end;