1。A,B两表都有自动增加的主键列。2个表的结构也不太一样。就只有要复制的那一个列一样。。。。我现在想知道该如何做。。。。~~~~~~~~??
2。如果2表的结构一样的话那该怎么弄呢?
我用的是SQL.Add(' insert into b(ttel) select * from [ceshi.mdb].telp');
但其中必须2个表中的列名一致
而且2个MDB文件放的路径也必须一样。很苦恼。
3。还有就是DATASET跟query中如何遍历查询出来的所有的行的所有值啊?~我不太会~~
我刚开始学习。希望大家能辛苦点帮我写出代码来
真的很感谢。分不多了!~希望大家能帮忙
12 个解决方案
#1
1
//ADOQueryA连接A表,ADOConnectionB连接B表
With ADoQueryA do
begin
first;
While not eof do
begin
ADOConnectionB.excute('Insert Into b(字段1,字段2) values(value1,value2)');
end;
end;
其中Value1,Value2处需要一定的字符转换组成Sql语句
//ADOQueryA连接A表,ADOConnectionB连接B表
With ADoQueryA do
begin
first;
While not eof do
begin
ADOConnectionB.excute('Insert Into b(字段1,字段2) values(value1,value2)');
end;
end;
其中Value1,Value2处需要一定的字符转换组成Sql语句
#2
2\可用我提供给你的1的方法来处理
#3
3、遍历查询在1中用到了
//ADOQueryA连接A表,ADOConnectionB连接B表
With ADoQueryA do
begin
first;
While not eof do
begin
ADOConnectionB.excute('Insert Into b(字段1,字段2) values(value1,value2)');
end;
next;
end;
不好意思,上面的代码丢了next
//ADOQueryA连接A表,ADOConnectionB连接B表
With ADoQueryA do
begin
first;
While not eof do
begin
ADOConnectionB.excute('Insert Into b(字段1,字段2) values(value1,value2)');
end;
next;
end;
不好意思,上面的代码丢了next
#4
不行呀。。。。。。执行到FIRST那里就出错误了
提示错误cannot perform this operation on a closed dataset
代码如下
function FBatchLeadTel():integer;
begin
adoyingyong.DataModule2.conn.Open;
adoyingyong.DataModule2.query1.Connection:=adoyingyong.DataModule2.conn;
adoyingyong.DataModule2.daoruconn.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\ceshi.mdb;Persist Security Info=False';
adoyingyong.DataModule2.daoruconn.Open;
try
with adoyingyong.DataModule2.query1 do
begin
close;
first;
While not eof do
begin
adoyingyong.DataModule2.daoruconn.Execute('Insert Into telp(tel) values('''+FieldByName('ttel').Asstring+''')');
end;
next;
end;
result:=0;
adoyingyong.DataModule2.conn.Close;
except
result:=1;
end;
end;
请指教
提示错误cannot perform this operation on a closed dataset
代码如下
function FBatchLeadTel():integer;
begin
adoyingyong.DataModule2.conn.Open;
adoyingyong.DataModule2.query1.Connection:=adoyingyong.DataModule2.conn;
adoyingyong.DataModule2.daoruconn.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\ceshi.mdb;Persist Security Info=False';
adoyingyong.DataModule2.daoruconn.Open;
try
with adoyingyong.DataModule2.query1 do
begin
close;
first;
While not eof do
begin
adoyingyong.DataModule2.daoruconn.Execute('Insert Into telp(tel) values('''+FieldByName('ttel').Asstring+''')');
end;
next;
end;
result:=0;
adoyingyong.DataModule2.conn.Close;
except
result:=1;
end;
end;
请指教
#5
请大家帮忙。。。。。。谢谢了
#6
呵呵,看看我的BLOG,有ACCESS数据库转换到SQL的方法....
#7
谢谢楼上的正在读
但我要做的是得用程序自动实现
大家再帮看看
但我要做的是得用程序自动实现
大家再帮看看
#8
我这里有自动实现的程序,总共包含三个类,觉得还算有点东西里面暂时不想公开,提供一点应用经验,这种自动代码为了保证稳定,最好传一条语句,确认一次,然后传下一条,这样才能更好的保证数据传输的正确性
#9
用同步专家网络版。
字段名称必须相同。如果是不同的,先改成相同的,倒入完成后,再修改成不同的。
www.ahjoe.com下载。
字段名称必须相同。如果是不同的,先改成相同的,倒入完成后,再修改成不同的。
www.ahjoe.com下载。
#10
我是要写在程序里的
谢谢大家再继续帮忙提供点思路或者代码
谢谢大家再继续帮忙提供点思路或者代码
#11
等待
#12
谢谢帮顶!~继续起来~~~~~~~~~~~~~~~~~~
#1
1
//ADOQueryA连接A表,ADOConnectionB连接B表
With ADoQueryA do
begin
first;
While not eof do
begin
ADOConnectionB.excute('Insert Into b(字段1,字段2) values(value1,value2)');
end;
end;
其中Value1,Value2处需要一定的字符转换组成Sql语句
//ADOQueryA连接A表,ADOConnectionB连接B表
With ADoQueryA do
begin
first;
While not eof do
begin
ADOConnectionB.excute('Insert Into b(字段1,字段2) values(value1,value2)');
end;
end;
其中Value1,Value2处需要一定的字符转换组成Sql语句
#2
2\可用我提供给你的1的方法来处理
#3
3、遍历查询在1中用到了
//ADOQueryA连接A表,ADOConnectionB连接B表
With ADoQueryA do
begin
first;
While not eof do
begin
ADOConnectionB.excute('Insert Into b(字段1,字段2) values(value1,value2)');
end;
next;
end;
不好意思,上面的代码丢了next
//ADOQueryA连接A表,ADOConnectionB连接B表
With ADoQueryA do
begin
first;
While not eof do
begin
ADOConnectionB.excute('Insert Into b(字段1,字段2) values(value1,value2)');
end;
next;
end;
不好意思,上面的代码丢了next
#4
不行呀。。。。。。执行到FIRST那里就出错误了
提示错误cannot perform this operation on a closed dataset
代码如下
function FBatchLeadTel():integer;
begin
adoyingyong.DataModule2.conn.Open;
adoyingyong.DataModule2.query1.Connection:=adoyingyong.DataModule2.conn;
adoyingyong.DataModule2.daoruconn.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\ceshi.mdb;Persist Security Info=False';
adoyingyong.DataModule2.daoruconn.Open;
try
with adoyingyong.DataModule2.query1 do
begin
close;
first;
While not eof do
begin
adoyingyong.DataModule2.daoruconn.Execute('Insert Into telp(tel) values('''+FieldByName('ttel').Asstring+''')');
end;
next;
end;
result:=0;
adoyingyong.DataModule2.conn.Close;
except
result:=1;
end;
end;
请指教
提示错误cannot perform this operation on a closed dataset
代码如下
function FBatchLeadTel():integer;
begin
adoyingyong.DataModule2.conn.Open;
adoyingyong.DataModule2.query1.Connection:=adoyingyong.DataModule2.conn;
adoyingyong.DataModule2.daoruconn.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\ceshi.mdb;Persist Security Info=False';
adoyingyong.DataModule2.daoruconn.Open;
try
with adoyingyong.DataModule2.query1 do
begin
close;
first;
While not eof do
begin
adoyingyong.DataModule2.daoruconn.Execute('Insert Into telp(tel) values('''+FieldByName('ttel').Asstring+''')');
end;
next;
end;
result:=0;
adoyingyong.DataModule2.conn.Close;
except
result:=1;
end;
end;
请指教
#5
请大家帮忙。。。。。。谢谢了
#6
呵呵,看看我的BLOG,有ACCESS数据库转换到SQL的方法....
#7
谢谢楼上的正在读
但我要做的是得用程序自动实现
大家再帮看看
但我要做的是得用程序自动实现
大家再帮看看
#8
我这里有自动实现的程序,总共包含三个类,觉得还算有点东西里面暂时不想公开,提供一点应用经验,这种自动代码为了保证稳定,最好传一条语句,确认一次,然后传下一条,这样才能更好的保证数据传输的正确性
#9
用同步专家网络版。
字段名称必须相同。如果是不同的,先改成相同的,倒入完成后,再修改成不同的。
www.ahjoe.com下载。
字段名称必须相同。如果是不同的,先改成相同的,倒入完成后,再修改成不同的。
www.ahjoe.com下载。
#10
我是要写在程序里的
谢谢大家再继续帮忙提供点思路或者代码
谢谢大家再继续帮忙提供点思路或者代码
#11
等待
#12
谢谢帮顶!~继续起来~~~~~~~~~~~~~~~~~~