TADODataSet记录更新到数据库中

hyz_cs 2012-10-19 11:37:08
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
...全文
274 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhujinqiang 2012-12-07
  • 打赏
  • 举报
回复
字段内容是唯一的这个字段,做为主键建立数据库表.
jAmEs_ 2012-12-01
  • 打赏
  • 举报
回复
每条记录生成SQL语句来处理即可,先要有一点SQL的基础。 也可以先存入临时表,然后通过语句批量更新或插入。
缘中人 2012-10-22
  • 打赏
  • 举报
回复
实现是可以的,方法很多,只提供思路!代码不保证一个字母不差。
例子一、
在放一个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();
}
hyz_cs 2012-10-22
  • 打赏
  • 举报
回复
在ACCESS版块发了帖,应该是可以的,分两步
1.更新现有的记录
2.插入原数据库中没有的记录

http://topic.csdn.net/u/20121021/11/eae8e3c0-7fcb-4b58-81ec-37ff210ed07e.html

但是在c++builder中怎么做呢,比如我家两个TADODataSet,一个是从mdb数据库读出来的记录,另一个是从xml文件读进来的要更新的记录,那怎么把两个TADODataSet当成两个表来处理呢,把所有记录更新到TADODataSet中后再写回mdb.
hyz_cs 2012-10-20
  • 打赏
  • 举报
回复
是不是这样实现不了? 那再改一下TADODataSet的字段数量和类型和数据库中的完全一样.

TADODataSet:

ID SN Name
1 x-1 abc
2 x-2 b
3 x-3 c
Delphi是一种非常优秀的可视化程序开发语言,Delphi 5 基于Windows 95/98/NT,采用高度结构化的Object Pascal语言,具有结构清晰、编译迅速等特点。它强大的可扩展数据库功能更赢得了无数数据库开发人员的青睐。本书详细介绍了Delphi 5 所增加的强大的数据库编程工具,例如ADO组件、IBX组件和数据模块设计窗口。本书由浅入深,系统地介绍了如何利用Delphi 5 强大的开发工具进行数据库应用程序的开发,并结合每一部分的内容,列举了大量实例,以便于读者掌握。本书适用于从事数据库应用程序开发的广大技术人员以及作为各院校师生的学习参考。 ---------------------------------------------目 录前言第1章 Delphi 5.0 简介 11.1 Delphi 5.0 的新特点 11.1.1 集成开发环境(IDE)的改进 11.1.2 新的语言扩充 31.1.3 数据库的应用开发能力增强 41.1.4 其他方面的改进 41.2 Delphi 5.0 的集成开发环境 41.2.1 主窗口 51.2.2 代码编辑器 131.2.3 窗体设计器 151.2.4 对象观察器 161.2.5 工程管理器 181.3 面向对象的Pascal语言 191.3.1 Object Pascal 的语言基础 191.3.2 Object Pascal的程序设计 271.4 小结 29第2章 数据库应用程序开发基本概述 302.1 数据库的基本概念 302.2 数据存取 312.3 数据库应用程序的开发步骤 312.4 数据库应用开发能力的增强 322.5 小结 33第3章 Delphi 5.0 的数据库工具 343.1 数据库工作平台 343.1.1 Database Desktop 353.1.2 设置工作目录及私有目录 353.1.3 创建数据表格 353.1.4 数据表格的属性 363.1.5 在Database Desktop创建SQL型数据表格 393.1.6 在Database Desktop使用查询 403.2 数据库引擎 423.3 数据库资源管理器 423.4 数据字典 453.5 SQL监视器 463.6 Datapump工具 463.7 小结 48第4章 数据访问组件 494.1 数据访问组件简介 504.2 TTable组件介绍 504.2.1 数据集组件的基本知识 514.2.2 TTable 组件的重要属性 524.2.3 Ttable组件的重要方法 584.2.4 Ttable 组件的重要事件 694.2.5 举例说明 704.3 TQuery 组件介绍 714.3.1 TQuery组件和TTable组件的比较 724.3.2 TQuery组件的重要属性 724.3.3 TQuery组件的重要方法 754.4 TstoredProc组件介绍 774.4.1 TstoredProc组件的重要属性 774.4.2 TstoredProc组件的重要方法 784.4.3 利用TstoredProc组件实现存储过程 794.5 TDataSource组件介绍 814.5.1 TDataSource组件的重要属性 814.5.2 TDataSource组件的重要方法 824.5.3 TDataSource组件的重要事件 834.5.4 应用程序建立TDataSource组件的基本步骤 844.6 Tdatabase组件介绍 844.6.1 TDatabase 组件的重要属性 844.6.2 TDatabase 组件的重要方法 874.6.3 TDatabase 组件的重要事件 884.7 Tsession组件介绍 884.7.1 Tsession的重要属性 894.7.2 Tsession的重要方法 894.8 其他组件介绍 904.9 数据访问组件的应用实例 914.10 ADO组件页介绍 994.10.1 ADO组件页概述 994.10.2 TADOConnection 1004.10.3 TADOCommand组件 1024.10.4 TADODataSet组件 1044.10.5 TADOTable 1064.11 小结 107第5章 数据控制组件 1085.1 数据控制组件简介 1085.2 TDBGrid组件介绍 1095.2.1 TDBGrid组件的重要属性 1105.2.2 TDBGrid组件的重要事件 1125.2.3 TDBGrid组件的应用举例 1135.3 TDBNavigator组件介绍 1185.3.1 TDBNavigator组件实现的主要功能 1185.3.2 TDBNavigator组件的重要属性 1195.3.3 TDBNav

1,178

社区成员

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

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