当前位置: 首页 > ops >正文

Adoquery 转AdoDataSet

在adoquery的afteropen中添加以下代码,adoclone 为AdoDataSet,不有用这个Clone方法,因为修改会改原来的值的

procedure TForm1.ADOQuery1AfterOpen(DataSet: TDataSet);
var
  i:Integer;
begin
 // AdoClone.Clone(ADOQuery1,ltBatchOptimistic);
  AdoClone.Active :=False;
  AdoClone.FieldDefs.Clear;
   for i :=0 to TADOQuery(DataSet).Fields.Count -1 do
   begin
     AdoClone.FieldDefs.Add(TADOQuery(DataSet).Fields[i].FieldName,TADOQuery(DataSet).Fields[i].DataType,TADOQuery(DataSet).Fields[i].Size);
   end;
 if AdoClone.FieldDefs.Count >0 then
  AdoClone.CreateDataSet;

 try
   TADOQuery(DataSet).DisableControls;
   TADOQuery(DataSet).First;
   while not TADOQuery(DataSet).Eof do
   begin
     AdoClone.Append;
     for i :=0 to TADOQuery(DataSet).Fields.Count -1 do
     begin
       if not VarIsNull(TADOQuery(DataSet).Fields[i].Value) then
          AdoClone.Fields[i].Value := TADOQuery(DataSet).Fields[i].Value;
     end;
     AdoClone.Post;
     TADOQuery(DataSet).Next;
   end;
 finally
   TADOQuery(DataSet).EnableControls;
 end;
end;

http://www.xdnf.cn/news/14369.html

相关文章:

  • LeetCode 1385.两个数组间的距离值
  • Kafka 可靠性保障:消息确认与事务机制(一)
  • vue3 +spring boot文件上传
  • 【Go语言-Day 1】扬帆起航:从零到一,精通 Go 语言环境搭建与首个程序
  • 操作系统核心名词解释--期末简答题快速复习
  • cuda编程笔记(2.5)--简易的应用代码
  • 利用 Python 爬虫获取 Amazon 商品详情:实战指南
  • HarmonyOS 探秘手记:我在 “鸿蒙星球” 的第一天
  • linux 常用工具的静态编译之二
  • 数字孪生赋能智慧城市大脑建设方案PPT(65页)
  • vscode通过ssh连接
  • 理解ES6中的Promise
  • SAP-增删改查
  • 中介者模式Mediator Pattern
  • 鸿蒙智行5月全系交付新车破4.4万辆,销量再创新高
  • FTP 并不适合用在两个计算机之间共享读写文件 为什么
  • 获取全国行政区划数据
  • Sklearn 机器学习 缺失值处理 过滤掉缺失值的行并统计
  • 大模型在垂直领域的应用:金融、医疗、教育等行业的创新案例分析
  • Leetcode 3585. Find Weighted Median Node in Tree
  • day54python打卡
  • 【git】有两个远程仓库时的推送、覆盖、合并问题
  • 数据管道架构设计指南:5大模式与最佳实践
  • Shakker-Labs提出RepText方法,提升FLUX处理文本能力
  • 每天宜搭宜搭小知识—报表组件—日历热力图
  • C++第一阶段——语言基础与核心特性
  • Kafka Connect 存在任意文件读取漏洞(CVE-2025-27817)
  • 【OpenVINO™】使用OpenVIN.CSharp.API在C#平台快速部署PP-OCRv5模型识别文本
  • 【保姆级开发文档】安卓开发四大组件及其生命周期详解
  • 最新版MATLAB R2025a ,支持Windows10/11