update czbtem set a13=czbtemp1.a11 from czbtem left join czbtemp1 on czbtem.dw=czbtem1.dw
解决方案 »
- 求ems quick report 4.1版,请问各位现在用什么来export excel文件?
- 高难题!!!如何得知bpl包中用registerclass注册的单元有哪些(200分求解)
- 怎样实现DBGrid中单行数据的各列以不同颜色显示????求教[[高手]]指导!或者有无类似控件可实现?
- 再送分
- 现在用是用DELPHI5好还是DELPHI6好?
- 用delphi6+SQL2000做一个应用时出现错误提示“list index out of bounds(0)”,请教各位。
- 关于窗体显示的问题
- 请问各位大虾,谁有简单的打印窗口源代码
- 急急急!!关于在listview中使用FINDDATA搜索指定的DATA的问题!!!!!!!
- dbgrid和一个临时表相连,怎样才能在dbgrid修改后更新到临时表?
- 利用dll實現窗体重用的問題
- 怎么实现局域网的语音通讯?欢迎大家提出新颖实施方案!
procedure Tczbprint1.Button1Click(Sender: TObject);
begin
query1.close;
query1.SQL.Clear;
query1.sql.add('update czbtem set a13=czbtemp1.a11 from czbtem left join czbtemp1 on czbtem.dw=czbtem1.dw');
query1.open;
end;
出错信息如下:
Invalid use of keyword
Token: Form
Line Nunber: 1.
请问我应该怎么处理,谢谢了!!
procedure Tczbprint1.Button1Click(Sender: TObject);
begin
query1.close;
query1.SQL.Clear;
query1.sql.add('update czbtem set a13=czbtemp1.a11 from czbtem left join czbtemp1 on czbtem.dw=czbtem1.dw');
query1.execsql;
end;
update czbtem set a13=czbtem1.a11 from czbtem left join czbtem1 on czbtem.dw=czbtem1.dw
再试试,可以了要加分哦
按你的语句我改过来了,但还是不行,再请看看,我是不是将语句写错了
procedure Tczbprint1.Button1Click(Sender: TObject);
begin
query1.close;
query1.SQL.Clear;
query1.sql.add('update czbtem set a13=czbtem1.a11 from czbtem left join czbtem1 on czbtem.dw=czbtem1.dw');
query1.execsql;
end;
出错信息同前面一样
是肯定可以的
你把这句sql放在sql环境下执行看看会不会出错,如果有错,应该是库名、表名或字段名不对.
PS:我想了想,我觉得还是用 inner join 比较好
procedure Tczbprint1.Button1Click(Sender: TObject);
begin
query1.close;
query1.SQL.Clear;
query1.sql.add('update czbtem set a13=czbtem1.a11 from czbtem left join czbtem1 on czbtem.dw=czbtem1.dw');
query1.execsql;
end;
我的SQL放在SQL环境下执行也出错,但表名是对的,即表1 :czbtem.db和表2:czbtem1.db,而且两个表的结构完全相同,再请看看是怎么回事:
procedure Tczbprint1.Button1Click(Sender: TObject);
begin
query1.close;
query1.SQL.Clear;
query1.sql.add('update czbtem set a13=czbtem1.a11 from czbtem inner join czbtem1 on czbtem.dw=czbtem1.dw');
query1.execsql;
end;
我的SQL放在SQL环境下执行也出错,但表名是对的,即表1 :czbtem.db和表2:czbtem1.db,而且两个表的结构完全相同,再请看看是怎么回事:
procedure Tczbprint1.Button1Click(Sender: TObject);
begin
query1.close;
query1.SQL.Clear;
query1.sql.add('update czbtem set a13=czbtem1.a11 from czbtem inner join czbtem1 on czbtem.dw=czbtem1.dw');
query1.execsql;
end;
//sele czbtem
Query1.Close;
Query1.SQL.Text := 'SELECT * FROM czbtem';
Query1.Open;//use czbtem1 in 0 excl alias czbtem //去年数据
//sele czbtem1
Query2.Close;
Query2.SQL.Text := 'SELECT * FROM czbtem1'
Query2.Open;//do while not eof()
while not Query2.Eof do begin
// dw_tem=dw
// a11_tem=a11
// sele czbtem
// locate for allt(dw)=allt(dw_tem)
// if not eof()
// repl a13 with a11_tem
// endif
if Query1.Locate('dw', Query2['dw'], []) then begin
Query1.Edit;
Query1['a13'] := Query1['a11'];
Query1.Post;
end;
// sele czbtem1
// skip
Query2.Next;
enddo
怎么不能用Delphi写呢?
要多看看书呀
上面我是随便写的
你修改修改就可以了
// ~
//再看看这个东东可不可以!
Query1.SQL.Text :=
'update czbtem set a13=(select a11 from czbtem1 where dw=czbtem.dw)';
Query1.ExecSQL;