新手求助!数据库追加记录问题?

shanyum2218 2012-12-19 08:55:30
一个单机版系统分别安装在不同的机器上,由不同的人进行数据录入,也就是说每台机器上的系统表结构是相同的。那么最后怎样把这些数据合并到一台机器上的数据表中!比如:表字段为:编号 姓名 性别 工作单位 资格名称 所学专业
请高手指教!
其中编号为主键,也就是说这几台机器中录入的数据编号有可能重复,单其他字段不重复,那么怎么合并到一起啊?
不知本人说清楚没?如不清楚俺再补充。多谢!
...全文
149 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
-HelloWorld- 2012-12-20
  • 打赏
  • 举报
回复
你最好加多个字段用于记录用户输入数据的日期时间,按时间的先后顺序给用户数据编号
-HelloWorld- 2012-12-20
  • 打赏
  • 举报
回复

--获取数据
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
shanyum2218 2012-12-20
  • 打赏
  • 举报
回复
引用 1 楼 Saivy 的回复:
关键你用的数据库是什么?单机版的MSSQL、ACCESS、EXCEL或其他?把几台机器的数据合到一块,是人工拷贝那几个数据表到一台机器上再考虑怎么合并这几个表,还是直接在某台机上访问那几台机取数据?
是ACCESS数据库,是人工拷贝2、3、4号机器的数据表到1号机器,然后合并到一号机器的表中,其实就是2、3、4号机器中的记录我都要,只是他们的“编号”字段有可能和1号机器中的记录重复,因为“编号”是主键不允许重复,我应该怎么处理?多谢了!
-HelloWorld- 2012-12-20
  • 打赏
  • 举报
回复
关键你用的数据库是什么?单机版的MSSQL、ACCESS、EXCEL或其他?把几台机器的数据合到一块,是人工拷贝那几个数据表到一台机器上再考虑怎么合并这几个表,还是直接在某台机上访问那几台机取数据?
zbdzjx 2012-12-20
  • 打赏
  • 举报
回复
之前我的作法是,加一个INI文件做配置档,给每台电脑一个序号,如:01、02、03。 在生成主键的编号时,将这个序号放在主键的最前面。 这样,合并几台电脑的数据时,就不会重复了。

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧