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

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'中。
...全文
1098 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
浪子家园 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;
回复
发帖
数据库相关
创建于2007-08-02

2456

社区成员

Delphi 数据库相关
申请成为版主
帖子事件
创建了帖子
2013-08-08 02:14
社区公告
暂无公告