我做一个项目,需要把不同地方的数据库汇总到一个数据库里,当然这些数据库的表结构相同,请问各位高手,怎样在DELPHI中,用程序实现数据库的追加?谢谢!!!
解决方案 »
- PC与单片机间协议设定,请指教!
- 在新项目中使用了CXDBGRID,这东西好慢呀,除了漂亮没有什么价值,郁闷中,散分;
- 问一个莫名其妙的问题,应不是很难回答的,但我实在解释不了,在线等!!!
- 三层结构 不定期死机
- mouse hook的dll问题,高手帮忙啊!!急,马上结贴!!
- 程序在xp下产生错误
- 如何自定义stringgrid中的各行颜色?
- 我的themeEngine控件中的theme怎么没有WINXP风格可选啊?只有个MetalLuna风格挺像winxp风格。请问用过的朋友你们的可选风格有哪几种?
- 非高手莫入!!!!!
- 以前用vb现在想学delphi请问,我学delphi5,还是delphi6? 有没有好点的教程请推荐谢谢
- ActiveForm放在 VC或Delphi的窗口里,点按钮出现死锁,是什么原因?
- 请问 Calculated fields 如何使用
ADOConnection1
ADOTable1 和 ADOTable2
connection :ADOConnection1 connection :ADOConnection1
TableName:表1 TableName:表2with ADOTable1 do
begin
try
active:=true; //打开1表
first; //将1表定位于第一条记录
while not Eof do //如果没有到1表的表尾
begin
ADOTable2.Active:=true;//打开2表
ADOTable2.insert; //插入一条记录
ADOTable2.fields[x].ASString:=fields[y].asString;
{将1表中的第y字段的值赋给2表中的第x字段
.......
.......}
ADOTable2.post;//将插入2表的记录写入数据库
next; //1表的指针指向下一条记录
end;
finally
ADOTable1.active:=false;
active:=false;//关闭两表
end;
ADOQuery1.close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.add('insert into tablename in ''sybx.mdb'' select * from tablename in ''a:\sjcj.mdb''' );
ADOQuery1.execSQL;
速度怎么样就不知道了。
select name from sysobjects where xtype ='U';
来获取所有的用户表。将所有的用户表放入一个数组中,然后遍历数组,生成类似下面的语句:
insert into dst.表名 select * from src.表名;执行上面的语句时要求 dst 数据库中的相关表与 src数据库中的表的字段顺序等完全相同。
sp_attach_db
将数据库附加到服务器。语法
sp_attach_db [ @dbname = ] 'dbname'
, [ @filename1 = ] 'filename_n' [ ,...16 ]参数
[@dbname =] 'dbname'要附加到服务器的数据库的名称。该名称必须是唯一的。dbname 的数据类型为 sysname,默认值为 NULL。 [@filename1 =] 'filename_n'数据库文件的物理名称,包括路径。filename_n 的数据类型为 nvarchar(260),默认值为 NULL。最多可以指定 16 个文件名。参数名称以 @filename1 开始,递增到 @filename16。文件名列表至少必须包括主文件,主文件包含指向数据库中其它文件的系统表。该列表还必须包括数据库分离后所有被移动的文件。返回代码值
0(成功)或 1(失败)结果集
无注释
只应对以前使用显式 sp_detach_db 操作从数据库服务器分离的数据库执行 sp_attach_db。如果必须指定多于 16 个文件,请使用带有 FOR ATTACH 子句的 CREATE DATABASE。如果将数据库附加到的服务器不是该数据库从中分离的服务器,并且启用了分离的数据库以进行复制,则应该运行 sp_removedbreplication 从数据库删除复制。权限
只有 sysadmin 和 dbcreator 固定服务器角色的成员才能执行本过程。示例
下面的示例将 pubs 中的两个文件附加到当前服务器。EXEC sp_attach_db @dbname = N'pubs',
@filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf',
@filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf'
=========
這條語句的寫法不錯,可以在SQL中指定文件路徑。