TADODataSet记录更新到数据库中,该如何解决

TADODataSet记录更新到数据库中
TADODataSet通过loadfile加载xml文件,怎么把这些记录更新到数据库中

TADODataSet的字段比数据库文件中的少一个(自动编号的这个字段),但保证另一个字段内容是唯一的,以这个字段为准,如果存在这条记录则更新到数据库中,如果不存在这条记录就插入一条.


大概的例子

数据库:

ID SN   Name
1  x-1  a
2  x-2  b


TADODataSet:

SN   Name
x-1  abc
x-2  b
x-3  c


合并后:

ID SN   Name
1  x-1  abc
2  x-2  b
3  x-3  c

------解决方案--------------------
实现是可以的,方法很多,只提供思路!代码不保证一个字母不差。
例子一、
在放一个query,查询数据库
query->sql = select * from t;
然后遍历TADODataSet进行处理
while(!ADODataSet->eof)
{
if( query->Locate("sn",ADODataSet->FieldByName("sn")->Value) )
{
  //数据库有记录   
}
else
{
  //数据库无记录
  query->Append();
  query->FieldByName("..")->Value = ...;
  query->Post();
}
ADODataSet->Next();
}

------解决方案--------------------
每条记录生成SQL语句来处理即可,先要有一点SQL的基础。
也可以先存入临时表,然后通过语句批量更新或插入。
------解决方案--------------------
字段内容是唯一的这个字段,做为主键建立数据库表.