将数据库321.a表的数据同时写入另一个数据库123.b表和123.c表中,下面代码怎么实现不了呢?/
插入后没数据
在窗口的open事件中写入
SQLCA.DBMS = "O84 Oracle8/8i (8.x.4+)"
SQLCA.LogPass = "123"
SQLCA.ServerName = "123"
SQLCA.LogId = "123"
SQLCA.AutoCommit = False
SQLCA.DBParm = "CommitOnDisconnect=No"
trans_b = CREATE transaction
trans_b.DBMS = "MSS Microsoft SQL Server 6.x"
trans_b.Database = "321"
trans_b.LogPass = "321"
trans_b.ServerName = "192.168.0.31"
trans_b.LogId = "sa"
trans_b.AutoCommit = False
trans_b.DBParm = "CommitOnDisconnect=No"
CONNECT USING trans_b;
if trans_b.sqlcode<>0 then
messagebox("错误信息","联接数据库失败!")
return -1
end if
dw_1.settransobject(trans_b)
dw_1.retrieve()
在cb_1的click中写入如下代码
int i,j
string v_1,v_2,v_3,v_4,v_5,v_6,v_7,v_8,v_9,v_10,v_11,v_12,v_13
date v_14,v_15
connect using trans_b;
j=dw_1.rowcount()
for i=1 to j
v_1= dw_1.object.1[i]
v_2= dw_1.object.3[i]
v_3= dw_1.object.3[i]
v_4= dw_1.object.4[i]
v_5= dw_1.object.5[i]
v_6= dw_1.object.6[i]
v_7= dw_1.object.7[i]
v_8= dw_1.object.8[i]
v_9= dw_1.object.9[i]
v_10= dw_1.object.10[i]
v_11= dw_1.object.11[i]
v_12= dw_1.object.12[i]
v_13= dw_1.object.13[i]
v_14= dw_1.object.14[i]
v_15=dw_1.object.15[i]
insert into 123.b(11,22,33,h1,z1,l1,44,55,66)
values (:v_1,:v_2,:v_3,3,37,5,:v_4,:v_5,:v_6) using trans_b;
if trans_b.sqlcode<>0 then
rollback using trans_b;
else
commit using trans_b;
end if
insert into 123.c(77,88,99,h1,z1,l1,cllb,1010)
values (:v_7,:v_8,:v_9,3,37,5,1,:v_10) using trans_b;
if trans_b.sqlcode<>0 then
rollback using trans_b;
else
commit using trans_b;
end if
next
insert into 123.b(11,22,33,h1,z1,l1,44,55,66)
insert into 123.c(77,88,99,h1,z1,l1,cllb,1010)
干吗还要加123呢??
insert into b(11,22,33,h1,z1,l1,44,55,66)
values (:v_1,:v_2,:v_3,3,37,5,:v_4,:v_5,:v_6) using sqlca;
if sqlca.sqlcode<>0 then
rollback using sqlca;
else
commit using sqlca;
end if
insert into c(77,88,99,h1,z1,l1,cllb,1010)
values (:v_7,:v_8,:v_9,3,37,5,1,:v_10) using sqlca;
if sqlca.sqlcode<>0 then
rollback using sqlca;
else
commit using sqlca;
end if
有2种可能:
1:表A中的数据和表B或表C中已有的数据重复
2:表A的唯一索引和表B,表C的唯一索引不一致,导致在表A中不是重复的数据,到了表B或表C会重复