语法错误(操作符丢失)在查询表达式' '中。

u1zaf5dj1 2013-08-08 02:14:16
各位大侠,有问题请教,帮帮小弟。
我是用delphi7连接access数据库,想把一个表中的某一列“对号入座”到另一个表中的对应列,但是总是报错。代码如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
With ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add(' Update table1,table2 Set table1.zhangfu = table2.zhangfu ');
SQL.Add(' Where (table1.A = table2.A) and (table1.B = table2.B)');
ExecSQL;
end;
end;

报错
语法错误(操作符丢失)在查询表达式'table2.zhangfu'中。
...全文
1419 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
浪子家园 2013-08-13
  • 打赏
  • 举报
回复
showmessage(sql.text); 显示出来,或者放进memo1中 memo1.lines.add(sql.text); 然后你去检查一下是不是缺少空格,缺少符号什么的应该就能检查出来
u1zaf5dj1 2013-08-13
  • 打赏
  • 举报
回复
用一句sql从一个表里面取出数据来更新另外一个表里面对应的值: update table1,table2 set table1.column1=table2.column1 where table1.column2=table2.column2 语法错误(操作符丢失)在查询表达式‘table2.column1’中。
u1zaf5dj1 2013-08-13
  • 打赏
  • 举报
回复
在access中执行 sql语句,也是报这个错。
u1zaf5dj1 2013-08-13
  • 打赏
  • 举报
回复
问题是,还没到showmessage(sql.text);,就报错了。
  • 打赏
  • 举报
回复
你这2个相加是不是table2.A=zhangfu跟where条件是不是没有空格?你把这个语句用MEMO弄出来直接数据库运行一下试试看
RayYan 2013-08-12
  • 打赏
  • 举报
回复
a.a = b.a是什么啊! 是两个表相关联的字段呀。
u1zaf5dj1 2013-08-09
  • 打赏
  • 举报
回复
a.a = b.a是什么啊!
-Tracy-McGrady- 2013-08-08
  • 打赏
  • 举报
回复
引用 4 楼 u1zaf5dj1 的回复:
仍然报错 语法错误(操作符丢失)在查询表达式'select table2.zhangfu from table2 Where (table1.A = table2.A) and (table1.B = table2.B))'中。
你哪里来的table1啊??
u1zaf5dj1 2013-08-08
  • 打赏
  • 举报
回复
仍然报错 语法错误(操作符丢失)在查询表达式'select table2.zhangfu from table2 Where (table1.A = table2.A) and (table1.B = table2.B))'中。
RayYan 2013-08-08
  • 打赏
  • 举报
回复
UPDATE table1 SET zhangfu = a.zhangfu FROM table2 a INNER JOIN table1 b ON a.a = b.a AND a.b = b.b
-Tracy-McGrady- 2013-08-08
  • 打赏
  • 举报
回复

procedure TForm1.Button1Click(Sender: TObject);
begin
With ADOQuery1 do
begin 
Close; 
SQL.Clear;
SQL.Add(' Update a set a.zhangfu=b.zhangfu from table1 a,table2 b where a.A=b.A and a.B=b.B');
ExecSQL;
end;
end;
feiba7288 2013-08-08
  • 打赏
  • 举报
回复
With ADOQuery1 do begin Close; SQL.Clear; SQL.Add(' Update table1 Set table1.zhangfu = ( '); SQL.Add(' select table2.zhangfu from table2 Where (table1.A = table2.A) and (table1.B = table2.B))'); ExecSQL; end;

2,497

社区成员

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

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