delphi update 语法语句有错误!
varTabId:Integer;TmpQry:TADOQuery;Sqlstr:string;begintmpqry:=tadoquery.create(self);T...
var
TabId : Integer;
TmpQry :TADOQuery;
Sqlstr:string;
begin
tmpqry:=tadoquery.create(self);
TmpQry.connection:=Adoconnection1;
TabId := ComboBox3.ItemIndex+1; //报表号
TmpQry.connection:=Adoconnection1;
Sqlstr := 'UpDate report Set top=''+trim(edit1.Text)+'',left=''+trim(edit2.Text)+'' where id='+IntToStr(TabId);
with tmpqry do
begin
close;
sql.clear;
sql.add(sqlstr);
execsql;
end;
TmpQry.free ;
end;
大侠那里出错了?
Sqlstr := 'UpDate report Set top='''+trim(edit1.Text)+''',left='''+trim(edit2.Text)+''' where id='+IntToStr(TabId);
我改了好几次能运行,但是我一修改数据的就是改不过来.TmpQry.Free,错误跳到我这个地方来(显示我update 语法错误)。
project project1.exe raised exception class eoleexception with message"update 语句的语法错误"process stopped.use step or run to continue
大侠,等在你们的回答..
这个问题我得到解决是这样解决的(Sqlstr := 'UpDate report Set [top]='''+trim(edit1.Text)+''',[left]='''+trim(edit2.Text)+''' where id='+IntToStr(TabId);
) 展开
TabId : Integer;
TmpQry :TADOQuery;
Sqlstr:string;
begin
tmpqry:=tadoquery.create(self);
TmpQry.connection:=Adoconnection1;
TabId := ComboBox3.ItemIndex+1; //报表号
TmpQry.connection:=Adoconnection1;
Sqlstr := 'UpDate report Set top=''+trim(edit1.Text)+'',left=''+trim(edit2.Text)+'' where id='+IntToStr(TabId);
with tmpqry do
begin
close;
sql.clear;
sql.add(sqlstr);
execsql;
end;
TmpQry.free ;
end;
大侠那里出错了?
Sqlstr := 'UpDate report Set top='''+trim(edit1.Text)+''',left='''+trim(edit2.Text)+''' where id='+IntToStr(TabId);
我改了好几次能运行,但是我一修改数据的就是改不过来.TmpQry.Free,错误跳到我这个地方来(显示我update 语法错误)。
project project1.exe raised exception class eoleexception with message"update 语句的语法错误"process stopped.use step or run to continue
大侠,等在你们的回答..
这个问题我得到解决是这样解决的(Sqlstr := 'UpDate report Set [top]='''+trim(edit1.Text)+''',[left]='''+trim(edit2.Text)+''' where id='+IntToStr(TabId);
) 展开
2个回答
展开全部
把双引号改成三个单引号就可以了,比如
a:='UpDate report Set top=''' 则结果a为'UpDate report Set top=',若写成a:='UpDate report Set top=''则编译会出错,因为''被认为是一个“‘”字符,还没结束,改成下面样子就可以了:
Sqlstr := 'UpDate report Set top='''+trim(edit1.Text)+''',left='''+trim(edit2.Text)+''' where id='+IntToStr(TabId);
a:='UpDate report Set top=''' 则结果a为'UpDate report Set top=',若写成a:='UpDate report Set top=''则编译会出错,因为''被认为是一个“‘”字符,还没结束,改成下面样子就可以了:
Sqlstr := 'UpDate report Set top='''+trim(edit1.Text)+''',left='''+trim(edit2.Text)+''' where id='+IntToStr(TabId);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询