根据ID字段比较两个Access数据库中的数据表中的记录异同
2008-04-10 18:01
465 查看
//函数说明:根据ID字段比较两个Access数据库中的数据表中的记录异同
// p1 第一个数据库
// p2 第二个数据库
// tName 要对比的数据表名
function CompRecordById(AdoQuery:TADOQuery;p1,p2,tName:string):Boolean;
var
sqlstr:string;
begin
sqlstr:='select * from ('+
'select t1.id,t2.id from ['+p1+'].'+tName+' as t1 left join '+tName+' as t2 on t1.id=t2.id '+
'union '+
'select t1.id,t2.id from ['+p1+'].'+tName+' as t1 right join '+tName+' as t2 on t1.id=t2.id'+
') '+
'where t1.id is null '+//第一个数据库中没有的记录
'or t2.id is null'; //第二个数据库中没有的记录
AdoQuery.Close;
AdoQuery.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+p2+';Persist Security Info=False';
AdoQuery.SQL.Text:=sqlstr;
AdoQuery.Open;
end;
以上函数有BUG,请参看另一篇文章
http://blog.csdn.net/siow/archive/2008/05/29/2493944.aspx
// p1 第一个数据库
// p2 第二个数据库
// tName 要对比的数据表名
function CompRecordById(AdoQuery:TADOQuery;p1,p2,tName:string):Boolean;
var
sqlstr:string;
begin
sqlstr:='select * from ('+
'select t1.id,t2.id from ['+p1+'].'+tName+' as t1 left join '+tName+' as t2 on t1.id=t2.id '+
'union '+
'select t1.id,t2.id from ['+p1+'].'+tName+' as t1 right join '+tName+' as t2 on t1.id=t2.id'+
') '+
'where t1.id is null '+//第一个数据库中没有的记录
'or t2.id is null'; //第二个数据库中没有的记录
AdoQuery.Close;
AdoQuery.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+p2+';Persist Security Info=False';
AdoQuery.SQL.Text:=sqlstr;
AdoQuery.Open;
end;
以上函数有BUG,请参看另一篇文章
http://blog.csdn.net/siow/archive/2008/05/29/2493944.aspx
相关文章推荐
- Oracle 删除重复数据只留一条 查询及删除重复记录的SQL语句 1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 wher
- Oracle 删除重复数据只留一条 查询及删除重复记录的SQL语句 1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 wher
- 根据某一字段跨服务器比较两个表数据
- 比如有个表A,表中有100000条记录,他有两个字段b,c,我现在想根据b排序来取第100到200条数据
- 清理8组nodes中表的历史数据,平均每个node中的表有1.5亿条记录,需要根据date_created字段清理8000W数据记录,这个字段没有索引。
- 根据基础数据表id获取数据库中关联表字段内容方法
- 两个数据表,比较相同字段;如果存在相同字段,删除原有表数据
- SQLSERVER2000中比较两个字段的记录存在包含关系的问题
- [SQL]根据刚刚插入数据的 ID 向另外一张表插入数据(插入的其他字段数据需要对字符串进行分析)
- mongo里面根据对象字段的ID查询 db.Photo.find({'owner.$id':ObjectId('xxxx')}) , 并且使用forEach循环修改查询的数据
- Hadoop中根据ID分发数据和Storm中根据字段分发数据的作用
- 清理8组nodes中表的历史数据,平均每个node中的表有1.5亿条记录,需要根据date_created字段清理8000W数据记录,这个字段没有索引。
- mysql 排序两个字段/列表先根据时间升序排序,时间相同再根据商家ID升序排序
- 根据ajax从服务器获取数据的时间和ID,根据最近的时间,显示一个记录重复ID的数字
- 根据两个list的相同字段比较,合并成一个list
- mysql如何去除两个字段数据相同的记录?
- 删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最大的记录
- 删除表中多余的重复记录,重复记录是根据单个字段(Id)来判断,只留有id最小的记录
- Python cookbook(数据结构与算法)根据字段将记录分组操作示例
- 写一个根据id字段查找记录的缓存函数(javascript)