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);
)
展开
 我来答
傲雪映蓉bP
2008-05-01
知道答主
回答量:11
采纳率:0%
帮助的人:0
展开全部
把双引号改成三个单引号就可以了,比如
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);
阳光上的桥
2008-04-30 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65815
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
Sqlstr := 'UpDate report Set top="'+trim(edit1.Text)+'",left="'+trim(edit2.Text)+'" where id='+IntToStr(TabId);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式