您现在的位置是:首页
>
导入导出美容仪怎么用视频 用AdoDataSet实现数据表的导入导出
用AdoDataSet实现数据表的导入导出 Del hi中的AdoDataSet是支持ADO访问的主要组件 它支持从数据表直接获取数据 支持用SQL语句获取数据 最重要的是 它定义和实现了两个重要的例

用AdoDataSet实现数据表的导入导出
Delphi中的AdoDataSet是支持ADO访问的主要组件 它支持从数据表直接获取数据 支持用SQL语句获取数据 最重要的是 它定义和实现了两个重要的例程 procedure LoadFromFile(const FileName: WideString);它从文件中加载数据集 procedure SaveToFile(const FileName: String = ; Format: TPersistFormat = pfADTG);它将数据集保存到文件中 Format确定文件中数据集的保存格式 可以使用的有pfADTG (Advanced Data Tablegram format) pfXML(Extendable Markup Language) 因此AdoDataSet是实现导入导出的良好的基础 数据表的导出 导出数据表的操作如下 )打开数据表 设置需要导出的条件 )使用AdoDataSet 调用SaveToFile导出记录 下面是一个导出操作的示例(假定导出指定数据表的全部记录) procedure ExportData(strFileName strTableName: string); begin with AdoDataSet do begin Close; CommandText := select * from + strTableName; Open; SaveToFile(strFileName); Close; end; end; .数据表的导入 下面是一个导入操作的示例(假定存在相同主键记录时更新目的表 假定数据表为单主键字段 且其字段类型为字符串型) Procedure ImportData(strFileName strTableName strKeyFieldName: string); begin with AdoDataSet do begin Close; LoadFromFile(strFileName); First; While not eof do begin StrKeyValue := FieldByName(strKeyFieldName) AsString; If RecordInDest(strTableName strKeyFieldName strKeyValue) then begin AdoDataDest Close; AdoDataSetDest CommandText := Format( select * from %s where %s=%s [strTableName strKeyFieldName QuotedStr(strKeyValue)]); AdoDataSetDest Open; AdoDataSetDest First; AdoDataSetDest Edit; for I:= to FieldList Count do AdoDataSetDest Fields[I] := Fields[I]; AdoDataSetDest Post; end else // 添加记录 begin AdoDataDest Close; AdoDataSetDest CommandText := Format( select * from %s where = [strTableName]); // 获取字段列表 AdoDataSetDest Open; AdoDataSetDest Insert; for i:= to FieldList Count do AdoDataSetDest Fields[i] := Fields[i]; AdoDataSetDest Post; end; Next; end; end; // 判断指定主键值的记录在表中是否存在 function RecordInDest(strTableName strKeyFieldName strKeyValue: string): boolean; begin with AdoQuery do begin Close; SQL Clear; SQL Add(Format( select count(*) from %s where %s=%s [strTableName strKeyFieldName QuotedStr(strKeyValue)])); Open; result := Fields[ ] AsInteger > ; Close; end; end; 如果对数据表的情况进行进一步的考虑 并结合更周密的导入导出方案 比如导入指定字段 导入指定字段 导入指定记录等等 对导入导出过程进行更详细的控制 就可以实现强大的 通用的数据表的导入导出工具 lishixinzhi/Article/program/Delphi/201311/24706 很赞哦! (1062)