delphi数据库问题 Access数据库表复制另一个表的数据 (表数据复制)谢谢 50
我的数据库是:Access我有两个表sell_info(有数据)sell_show(无)(结构一样)要求:sell_info里面的数据全部复制给sell_show表。用空...
我的数据库是:Access
我有两个表 sell_info(有数据) sell_show(无) (结构一样)
要求:sell_info里面的数据全部复制给 sell_show 表。
用空间ADOQuery1 我需要执行什么代码呢? 谢谢了。 感觉帮助我的人。 展开
我有两个表 sell_info(有数据) sell_show(无) (结构一样)
要求:sell_info里面的数据全部复制给 sell_show 表。
用空间ADOQuery1 我需要执行什么代码呢? 谢谢了。 感觉帮助我的人。 展开
4个回答
展开全部
办法有好几个,这里说两个:
1、直接复制粘贴法,如果你的两个表再同一数据库中,直接复制粘贴就行了,先把那个空表删除,再粘贴那个有数据的表,粘贴命令之后,ACCESS会提示你给粘贴后表取名的。如果两个表不在一个数据库中,那就得打开两个数据库,有时候ACCESS不让你同时打开两个ACCESS,但反复多打开几次就可以打开了。打开之后,再进行复制粘贴操作。
2、如果说这种操作是经常的,也就是要提供给软件用户操作的,那就只有通过DELPHI代码来实现了。
用代码进行复制,可以直接用SQL命令进行表的复制和粘贴。但具体的SQL命令,我不太清楚。
就按你说用ADO组件来进行复制
首先确定一个数据库还是两个,如果两个表在同一数据库中,这样只要一个数据库连接组件TADOConnection就行了,如果两个表是在不同的数据库中,那最好用两个TADOConnection连接组件。一个用于连接A数据库,另一个用连接B数据库。
再放两个TADODataSet组件,我习惯使用ADODataSet组件,根本不用TADOQuery和TADOTable因为ADODataSet兼有这两个组件的全部功能。放好这四个组件后,再做好连接的设置。
然后写代码:
1、直接复制粘贴法,如果你的两个表再同一数据库中,直接复制粘贴就行了,先把那个空表删除,再粘贴那个有数据的表,粘贴命令之后,ACCESS会提示你给粘贴后表取名的。如果两个表不在一个数据库中,那就得打开两个数据库,有时候ACCESS不让你同时打开两个ACCESS,但反复多打开几次就可以打开了。打开之后,再进行复制粘贴操作。
2、如果说这种操作是经常的,也就是要提供给软件用户操作的,那就只有通过DELPHI代码来实现了。
用代码进行复制,可以直接用SQL命令进行表的复制和粘贴。但具体的SQL命令,我不太清楚。
就按你说用ADO组件来进行复制
首先确定一个数据库还是两个,如果两个表在同一数据库中,这样只要一个数据库连接组件TADOConnection就行了,如果两个表是在不同的数据库中,那最好用两个TADOConnection连接组件。一个用于连接A数据库,另一个用连接B数据库。
再放两个TADODataSet组件,我习惯使用ADODataSet组件,根本不用TADOQuery和TADOTable因为ADODataSet兼有这两个组件的全部功能。放好这四个组件后,再做好连接的设置。
然后写代码:
展开全部
用ADOquery 使用语句 Select * into Sell_show from sell_info 这样的方法不行吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
var
i:integer
begin
//打开有数据表
ADOQuery1.close;
ADOQuery1.sql.clear;
ADOQuery1.sql.add('select * from sell_info');
ADOQuery1.open;
//打开空表
ADOQuery2.close;
ADOQuery2.sql.clear;
ADOQuery2.sql.add('select * from sell_show');
ADOQuery2.open;
//开始倒数据
ADOQuery1.first;
try
while not ADOQuery1.eof do //循环每行
begin
ADOQuery2.append
for i:=0 ADOQuery1.FieldCount-1 do //循环每列
begin
ADOQuery2.Fields[i].Value:=ADOQuery1.Fields[i].Value;
end;
ADOQuery1.next;
end;
ADOQuery2.UpdateBatch();//提交数据库
except
end;
end;
i:integer
begin
//打开有数据表
ADOQuery1.close;
ADOQuery1.sql.clear;
ADOQuery1.sql.add('select * from sell_info');
ADOQuery1.open;
//打开空表
ADOQuery2.close;
ADOQuery2.sql.clear;
ADOQuery2.sql.add('select * from sell_show');
ADOQuery2.open;
//开始倒数据
ADOQuery1.first;
try
while not ADOQuery1.eof do //循环每行
begin
ADOQuery2.append
for i:=0 ADOQuery1.FieldCount-1 do //循环每列
begin
ADOQuery2.Fields[i].Value:=ADOQuery1.Fields[i].Value;
end;
ADOQuery1.next;
end;
ADOQuery2.UpdateBatch();//提交数据库
except
end;
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADoQuery1.SQL.Add('select * into sell_show from sell_info');
ADOQuery1.execsql;
就可以了
ADOQuery1.SQL.Clear;
ADoQuery1.SQL.Add('select * into sell_show from sell_info');
ADOQuery1.execsql;
就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询