读书人

TADODataSet记要更新到数据库中

发布时间: 2013-04-26 16:27:53 作者: rapoo

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的基础。
也可以先存入临时表,然后通过语句批量更新或插入。
[解决办法]
字段内容是唯一的这个字段,做为主键建立数据库表.

读书人网 >C++ Builder

热点推荐