您现在的位置是:首页 >

导入导出美容仪怎么用视频 用AdoDataSet实现数据表的导入导出

火烧 2021-07-15 15:44:57 1062
用AdoDataSet实现数据表的导入导出 Del hi中的AdoDataSet是支持ADO访问的主要组件 它支持从数据表直接获取数据 支持用SQL语句获取数据 最重要的是 它定义和实现了两个重要的例
导入导出美容仪怎么用视频 用AdoDataSet实现数据表的导入导出

用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  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码