怎么写sql语句阿?
比如是两个access的数据库.
8 个解决方案
#1
用两个数据集,分别联结数据库A(qryA),数据库B.(qryB)
然后
然后
qryB.close;
qryB.sql.text:='insert into A_tableName (A1,A2) VALUES (:ID1,:ID2)'
qryB.Parameters.ParamByName('ID1').value:= qryA.fieldbyName('aa').asstring;
qryB.Parameters.ParamByName('ID2').value:= qryA.fieldbyName('ab').asstring;
qryB.ExecSQL;
#2
qryB.close;
qryB.sql.text:='insert into b SELECT *
FROM OpenDataSource(SELECT *
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'c:\MSOffice\Access\Samples\northwind.mdb';'admin';'mypwd', a)
AS a
qryB.ExecSQL;
#3
qryB.close;
qryB.sql.text:='insert into b SELECT * FROM '
+'OpenDataSource(SELECT * FROM OPENROWSET(''Microsoft.Jet.OLEDB.4.0'',''c:\MSOffice\Access\Samples\northwind.mdb'';''admin'';''mypwd'', a) a';
qryB.ExecSQL;
qryB.sql.text:='insert into b SELECT * FROM '
+'OpenDataSource(SELECT * FROM OPENROWSET(''Microsoft.Jet.OLEDB.4.0'',''c:\MSOffice\Access\Samples\northwind.mdb'';''admin'';''mypwd'', a) a';
qryB.ExecSQL;
#4
用这个方法,简单明了.但是似乎只能插入一个查询的记录阿...如果用循环插入,会很慢阿
比如两个access的数据库.
如果对于A.mdb数据库有a1,a2两张表,要查询: select a1.xm from a1,a2 where a1.id=a2.id 该查询结果比如有1万条记录.
对于B.mdb数据库,要把所A.mdb所查询到的1万条记录插入到B.mdb数据库中的b1表中去.insert into b1 怎么做?
#5
用这个方法,access支持opendatasource吗?
比如两个access的数据库.
如果对于A.mdb数据库有a1,a2两张表,要查询: select a1.xm from a1,a2 where a1.id=a2.id 该查询结果比如有1万条记录.
对于B.mdb数据库,要把所A.mdb所查询到的1万条记录插入到B.mdb数据库中的b1表中去.insert into b1 怎么做?
可否具体点?
#6
多谢!!!
#7
三楼方法应该不错.
#8
insert into #Ta select * from #Tb
#1
用两个数据集,分别联结数据库A(qryA),数据库B.(qryB)
然后
然后
qryB.close;
qryB.sql.text:='insert into A_tableName (A1,A2) VALUES (:ID1,:ID2)'
qryB.Parameters.ParamByName('ID1').value:= qryA.fieldbyName('aa').asstring;
qryB.Parameters.ParamByName('ID2').value:= qryA.fieldbyName('ab').asstring;
qryB.ExecSQL;
#2
qryB.close;
qryB.sql.text:='insert into b SELECT *
FROM OpenDataSource(SELECT *
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'c:\MSOffice\Access\Samples\northwind.mdb';'admin';'mypwd', a)
AS a
qryB.ExecSQL;
#3
qryB.close;
qryB.sql.text:='insert into b SELECT * FROM '
+'OpenDataSource(SELECT * FROM OPENROWSET(''Microsoft.Jet.OLEDB.4.0'',''c:\MSOffice\Access\Samples\northwind.mdb'';''admin'';''mypwd'', a) a';
qryB.ExecSQL;
qryB.sql.text:='insert into b SELECT * FROM '
+'OpenDataSource(SELECT * FROM OPENROWSET(''Microsoft.Jet.OLEDB.4.0'',''c:\MSOffice\Access\Samples\northwind.mdb'';''admin'';''mypwd'', a) a';
qryB.ExecSQL;
#4
用这个方法,简单明了.但是似乎只能插入一个查询的记录阿...如果用循环插入,会很慢阿
比如两个access的数据库.
如果对于A.mdb数据库有a1,a2两张表,要查询: select a1.xm from a1,a2 where a1.id=a2.id 该查询结果比如有1万条记录.
对于B.mdb数据库,要把所A.mdb所查询到的1万条记录插入到B.mdb数据库中的b1表中去.insert into b1 怎么做?
#5
用这个方法,access支持opendatasource吗?
比如两个access的数据库.
如果对于A.mdb数据库有a1,a2两张表,要查询: select a1.xm from a1,a2 where a1.id=a2.id 该查询结果比如有1万条记录.
对于B.mdb数据库,要把所A.mdb所查询到的1万条记录插入到B.mdb数据库中的b1表中去.insert into b1 怎么做?
可否具体点?
#6
多谢!!!
#7
三楼方法应该不错.
#8
insert into #Ta select * from #Tb