读书人

新手!数据库追加记录有关问题

发布时间: 2013-01-12 16:25:03 作者: rapoo

新手求助!数据库追加记录问题?
一个单机版系统分别安装在不同的机器上,由不同的人进行数据录入,也就是说每台机器上的系统表结构是相同的。那么最后怎样把这些数据合并到一台机器上的数据表中!比如:表字段为:编号 姓名 性别 工作单位 资格名称 所学专业新手!数据库追加记录有关问题
请高手指教!
其中编号为主键,也就是说这几台机器中录入的数据编号有可能重复,单其他字段不重复,那么怎么合并到一起啊?
不知本人说清楚没?如不清楚俺再补充。多谢!
[解决办法]


--获取数据
select NewNo=IDENTITY(int,1,1) , * into #tempTable from (
select * from OpenRowSet('Microsoft.Jet.OLEDB.4.0','C:\DataBase1.mdb'; 'admin'; '',TableName)
union all
select * from OpenRowSet('Microsoft.Jet.OLEDB.4.0','C:\DataBase2.mdb'; 'admin'; '',TableName)
union all
select * from OpenRowSet('Microsoft.Jet.OLEDB.4.0','C:\DataBase3.mdb'; 'admin'; '',TableName)
) a
order by CreateDate
--处理编号,假设你第一个编号是NO_00001,第101个是NO_00101可按以下方式处理
--Insert into Table(field1,field2,...)
select 'NO_'+Right('00000'+convert(varchar(5),NewNo),5) 你的编号,其他字段 from #tempTable

[解决办法]
之前我的作法是,加一个INI文件做配置档,给每台电脑一个序号,如:01、02、03。
在生成主键的编号时,将这个序号放在主键的最前面。
这样,合并几台电脑的数据时,就不会重复了。

读书人网 >.NET

热点推荐