with adoquery1 do
begin
close;
sql.Clear;
sql.Add('update crtype set crtype_zt=0 where crtype_id='''+adoquery1.fieldbyname('crtype_id').AsString+'''');
execsql;
end;
以上代码不知道是不是应该这样写呢。
begin
close;
sql.Clear;
sql.Add('update crtype set crtype_zt=0 where crtype_id='''+adoquery1.fieldbyname('crtype_id').AsString+'''');
execsql;
end;
以上代码不知道是不是应该这样写呢。
解决方案 »
- dbgrideh的printdbgrid如何设置默认预览和打印方向是横向
- 一个关于菜单的最简单问题,在线等
- 求助:各位大哥为什么会出现下面这样的情况?
- IDHttp如何获取GOOGLE的网页?
- 为什么在fastreport中每次都打三页???(实在是很着急)
- 请问一下,delphi7.rar有多大,我好估计一下要下多久,谢谢!!!!
- 关于在Delphi5中编制的程序,可在运行中动态制作报表的问题
- 低版本数据库问题
- =============一个关于数据库的莫名其妙的问题===================
- 紧急问题,加分问题
- 自写控件,显示上面有问题
- delphi如何获取网页中的表单信息后保存到本地,最好能有源码或者列子
begin
close;
sql.Clear;
sql.Add('update crtype set crtype_zt=0 where crtype_id='''+adoquery1.fieldbyname('crtype_id').AsString+'''');
execsql;
end; 刚仔细看了一下你的代码,你的adoquery1都已经close了,在更新条件中还用这个adoquery1.fieldbyname('crtype_id').AsString,当然没有字段了。
先把adoquery1.fieldbyname('crtype_id').AsString赋给一个变量,然后再操作
with adoquery1 do
begin
close;
sql.Clear;
sql.Add('update crtype set crtype_zt=0 where crtype_id='''+s+'''');
execsql;
end; 而且不知道你的crtype_id字段是什么类型的,如果是字符型如上,如果是数字的如下。
sql.Add('update crtype set crtype_zt=0 where crtype_id='+s) 但最好这样写:
s := adoquery1.fieldbyname('crtype_id').AsString;
with adoquery1 do
begin
close;
sql.Clear;
sql.Add('update crtype set crtype_zt=0 where crtype_id=:s');
parameters.parambyname('s').value := s;
execsql;
end;