两张表“同步更新”的问题(50分)

  • 主题发起人 主题发起人 peterwang
  • 开始时间 开始时间
P

peterwang

Unregistered / Unconfirmed
GUEST, unregistred user!
两张表结构一样,要求表1中被指定的记录传到表2中,其中如果表2中存在
该记录就更新,否则添加。(不用batchmove,因为在asp中作的。)
 
用table的话:
table1.first;
while not table1.eof do
begin
if table2.locate('keyfieldname', table1.fieldbyname('keyfieldname').value) then
table2.edit
else
table2.append;
table1.getcurrentrecord(table2.activebuffer);
table2.post;
table1.next;
end;
 
eYes也用TABLE了?:)
 
我的方法是用SQL语句:
With query1 do
begin
close;
sql.clear;
sql.add('update table2 set name1=(select name1 from table1 where
no1=table2.no2)');
ExecSQL;

close;
sql.clear;
sql.add('insert into table2 select name1 from table1 where no1 not
in (select no2 from table2)');
ExecSQl;
end;

数据库为Oracle或MSSQL
 
sql="select * from table2 where id=" & id
set rs=conn.execute(sql)
ok=false
if not rs.eof then
ok=true
end if
rs.close
if ok then
sql="insert into table2 (id,f1,f2,f3...) values (" & ......... & ")"
else
sql="update table2 set f1=" & ....... & " where id=" & id
end if
set rs=conn.execute(sql)
 
多人接受答案了。
 
后退
顶部