2022年用AdoDataSet实现数据表的导入导出Delphi教程.docx

上传人:l**** 文档编号:62197582 上传时间:2022-11-22 格式:DOCX 页数:6 大小:12.13KB
返回 下载 相关 举报
2022年用AdoDataSet实现数据表的导入导出Delphi教程.docx_第1页
第1页 / 共6页
2022年用AdoDataSet实现数据表的导入导出Delphi教程.docx_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《2022年用AdoDataSet实现数据表的导入导出Delphi教程.docx》由会员分享,可在线阅读,更多相关《2022年用AdoDataSet实现数据表的导入导出Delphi教程.docx(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、2022年用AdoDataSet实现数据表的导入导出Delphi教程 Delphi中的AdoDataSet是支持ADO访问的主要组件,它支持从数据表干脆获得数据,支持用SQL语句获得数据。最重要的是,它定义和实现了两个重要的例程: procedure LoadFromFile(const FileName: WideString);它从文件中加载数据集。procedure SaveToFile(const FileName: String = ; Format: TPersistFormat = pfADTG);它将数据集保存到文件中。Format确定文件中数据集的保存格式,可以运用的有pfA

2、DTG (Advanced Data Tablegram format)、pfXML(Extendable Markup Language)。因此AdoDataSet是实现导入导出的良好的基础。1.数据表的导出导出数据表的操作如下:1)打开数据表,设置须要导出的条件;2)运用AdoDataSet,调用SaveToFile导出记录;下面是一个导出操作的示例(假定导出指定数据表的全部记录)。procedure ExportData(strFileName, strTableName: string);beginwith AdoDataSet1 dobeginClose;CommandText :=

3、 select * from + strTableName;Open;SaveToFile(strFileName);Close;end;end;page2数据表的导入 下面是一个导入操作的示例(假定存在相同主键记录时更新目的表;假定数据表为单主键字段,且其字段类型为字符串型)。Procedure ImportData(strFileName, strTableName, strKeyFieldName: string);beginwith AdoDataSet1 dobeginClose;LoadFromFile(strFileName);First;While not eof dobegi

4、nStrKeyValue := FieldByName(strKeyFieldName).AsString;If RecordInDest(strTableName, strKeyFieldName, strKeyValue) thenbeginAdoDataDest.Close;AdoDataSetDest.CommandText := Format(select * from %s where %s=%s,strTableName, strKeyFieldName, QuotedStr(strKeyValue);AdoDataSetDest.Open;AdoDataSetDest.Firs

5、t;AdoDataSetDest.Edit;for I:=0 to FieldList.Count-1 doAdoDataSetDest.FieldsI := FieldsI;AdoDataSetDest.Post;endpageelse / 添加记录beginAdoDataDest.Close;AdoDataSetDest.CommandText := Format(select * from %s where 1=0,strTableName); / 获得字段列表AdoDataSetDest.Open;AdoDataSetDest.Insert;for i:=0 to FieldList.

6、Count-1 doAdoDataSetDest.Fieldsi := Fieldsi;AdoDataSetDest.Post;end;Next;end;end;/ 推断指定主键值的记录在表中是否存在function RecordInDest(strTableName, strKeyFieldName, strKeyValue: string): boolean;beginwith AdoQuery1 dobeginClose;SQL.Clear;SQL.Add(Format(select count(*) from %s where %s=%s, strTableName, strKeyFieldName, QuotedStr(strKeyValue);Open;result := Fields0.AsInteger > 0;Close;end;end;假如对数据表的状况进行进一步的考虑,并结合更周密的导入导出方案,比如导入指定字段、导入指定字段、导入指定记录等等,对导入导出过程进行更具体的限制,就可以实现强大的、通用的数据表的导入导出工具。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁