请教语句的写法问题,很急 ,在线等,请大家多帮忙!谢谢(100分)

  • 主题发起人 主题发起人 kkbb1022
  • 开始时间 开始时间
K

kkbb1022

Unregistered / Unconfirmed
GUEST, unregistred user!
我想把一个表中某个字段的所有的值,以一定的条件加到另一个表中的的对应的字段中,
这样的取值、付值的循环语句应该怎么写?
即:从表1中取3个字段(表2.callsign=表1.callsign,表2.port=表1.port,表2.voy=表1.voy)插入的,但是有一定的条件,如:
表1 表2
id callsign port voy id callsign port voy
112 110 dgd tj 001 210 112 hgf dl 002
561 561 hgu yt 007
457 778 fsf js 045
... ... ... ... ... ... ... ...
... ...

运行后正确应该是这样的:
表1 表2
id callsign port voy id callsign port voy
112 hgf dl 002 110 dgd tj 001 210 112 hgf dl 002
561 ghu yt 007 561 hgu yt 007
457 778 fsf js 045
... ... ... ... ... ... ... ...
就是为了简便,在对表2进行录入时,若在表1中已经存在(要求id相同的)的自动读取到表2中,不必再次录入。谢谢!
 
for i:=0 to 表2.recordcount-1 do
begin
if 表1.locate('id',表2.fieldbyname('id').asstring,[]) then
表1.fieldbyname('callsign').asstring := 表2.fieldbyname('callsign').asstring;
表1.fieldbyname('port').asstring := 表2.fieldbyname('port').asstring;
表1.fieldbyname('voy').asstring := 表2.fieldbyname('voy').asstring;
end;
 
你的id 的应该是唯一的,先查询两个标id相同的行,然后把表2 的copy到表一里不就行了
 
不是这样的,表1和表2都是ACCESS数据库中的,我要用ADOquery和数据库相连 进行操作。不是直接对表进行操作,谢谢
 
不是的 表2中 还有一些 表1根本不用的字段

表1 表2
id callsign port voy id callsign port voy time data ..
 
我是这样写的 但感觉有问题:
With adoQuery7 Do
Begin
Close;
SQL.Clear;
SQL.Add('Select * From a01');
Open;
End;
While Not adoQuery7.Eof Do
Begin
With adoQuery9 Do
Begin
Close;
SQL.Clear;
SQL.Add('Insert Into a02 (callsign,port,voy) Values
(:callsign,:port,:voy)');
adoquery9.FieldByName('callsign').AsString:=adoQuery7.FieldByName('callsign').AsString;
adoquery9.FieldByName('port').AsString:=adoQuery7.FieldByName('port').AsString;
adoquery9.FieldByName('voy').AsString:=adoQuery7.FieldByName('voy').AsString;
ExecSQL;
End;
adoQuery7.Next
End;
 
后退
顶部