简单的语句,找不出的错误

fasfwsetertert 2013-09-04 10:26:59
procedure TForm1.Button3Click(Sender: TObject);
var
str1,str2:string;
begin
str1:='XJ4FUPS42-1';
str2:='20130101' ;
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('update 测试时间');
query1.SQL.Add('set 测试时间=20130101');
query1.SQL.Add('where 蓄电池组名称=XJ4FUPS42-1');
query1.ExecSQL;
end;

新手求教
数据库字段都是字符型
update set where.....请问我错在哪?
str1,str2变量代入也不行。
...全文
113 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
tcmakebest 2013-09-05
  • 打赏
  • 举报
回复
update, set, where 前加空格调节。
fasfwsetertert 2013-09-05
  • 打赏
  • 举报
回复
我已经知道了 谢谢大家
fasfwsetertert 2013-09-05
  • 打赏
  • 举报
回复
引用 1 楼 abclm 的回复:
var str1,str2:string;
begin
  str1:='XJ4FUPS42-1';
  str2:='20130101' ;
   with query1 do
     begin
       close;
       sql.Clear;
       sql.Add('update 表名 set 测试时间='''+str1+''' where 蓄电池组名称='''+str2+'''');
       ExecSQL;
     end;
end;
{修改成这样,亲测!}
原来如此,太谢谢了
zbdzjx 2013-09-05
  • 打赏
  • 举报
回复
procedure TForm1.Button3Click(Sender: TObject);
var
str1,str2:string;
begin
str1:='XJ4FUPS42-1';
str2:='20130101' ;
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('update 测试时间');
query1.SQL.Add('set 测试时间=''20130101''');
query1.SQL.Add('where 蓄电池组名称=''XJ4FUPS42-1''');
query1.ExecSQL;
end;
TheMadMan 2013-09-05
  • 打赏
  • 举报
回复
说白了,还是你SQL语句的问题,中文跟int类型的不一样。好好看看数据库那本书。最好用临时的string来代替你的SQL语句更好,而且不容易出错。
simonhehe 2013-09-05
  • 打赏
  • 举报
回复

procedure TForm1.Button3Click(Sender: TObject);
const S_SQL = 'update 测试时间 set 测试时间 = %s where 蓄电池组名称 = %s';
var 
str1,str2 : string;
begin
str1:='XJ4FUPS42-1';
str2:='20130101' ;
query1.Close;
try
query1.SQL.text := format(S_SQL, [quotedstr(str1), quotedstr(str2)]);
query1.ExecSQL;
except on e: exception do
  showmessage(e.message);
end;
end;
babydog01 2013-09-05
  • 打赏
  • 举报
回复
代码尤其是SQL语句,能在一行写完的就一行写完,否则看起来很费劲。
RayYan 2013-09-05
  • 打赏
  • 举报
回复
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 procedure TForm1.Button3Click(Sender: TObject); const S_SQL = 'update 测试时间 set 测试时间 = %s where 蓄电池组名称 = %s'; var str1,str2 : string; begin str1:='XJ4FUPS42-1'; str2:='20130101' ; query1.Close; try query1.SQL.text := format(S_SQL, [quotedstr(str1), quotedstr(str2)]); query1.ExecSQL; except on e: exception do showmessage(e.message); end; end;
superlixiao78 2013-09-04
  • 打赏
  • 举报
回复
begin str1:='XJ4FUPS42-1'; str2:='20130101' ; query1.Close; query1.SQL.Clear; query1.SQL.Add('update 测试时间'); query1.SQL.Add('set 测试时间='+quotedstr(str2)); query1.SQL.Add('where 蓄电池组名称='+quotedstr(str1)); query1.ExecSQL; end
  • 打赏
  • 举报
回复
var str1,str2:string;
begin
  str1:='XJ4FUPS42-1';
  str2:='20130101' ;
   with query1 do
     begin
       close;
       sql.Clear;
       sql.Add('update 表名 set 测试时间='''+str1+''' where 蓄电池组名称='''+str2+'''');
       ExecSQL;
     end;
end;
{修改成这样,亲测!}

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧