Delphi ClientDataSet复制记录

数据源记录集:ClientDataSetSource;目标记录集:ClientDataSetCopy

1)复制一条记录。

ClientDataSetCopy.Close;
  ClientDataSetCopy.Fields.Clear;
  ClientDataSetCopy.FieldDefs.Clear;

//复制字段定义
  ClientDataSetCopy.FieldDefs.Assign( ClientDataSetSource.FieldDefs);
  ClientDataSetCopy.CreateDataSet;
  ClientDataSetCopy.Edit; //Append;

//复制当前记录行
  ClientDataSetCopy.CopyFields(cds1);

2)复制所有记录。

ClientDataSetCopy.Close;
  ClientDataSetCopy.Fields.Clear;
  ClientDataSetCopy.AppendData(ClientDataSetSource.Data,False);

时间: 2024-08-10 23:30:50

Delphi ClientDataSet复制记录的相关文章

Delphi中复制带有String的记录结构时不能使用Move之类的内存操作函数

请看下面的代码: program TestRecord; {$APPTYPE CONSOLE} uses  SysUtils,  Math; type  TRecordA = record    Name: string;  end; procedure RunTestRecord;var  R1, R2: TRecordA;begin  R1.Name := StringOfChar('A', RandomRange(64, 256) * 1024);  Move(R1, R2, SizeOf

delphi 数组复制利用CopyMemory 最为完美

在各网站的文章里面,见复制数据的方法中,有move的,有system.copy的,而要实际应用中,这两种方法,并不是很完美,会遇到一些问题,比如copy在记录里面的复制时,编译都过不去,而CopyMemory的功能,就相当强大. 要注意如果不是byte时,长度可能需要使用sizeof来参与计算 Buff,BuffCmdCrc16:array of Byte SetLength(BuffCmdCrc16, 10); 一.复制10个byte CopyMemory(@BuffCmdCrc16[0],@

通过ClientDataSet复制表的结构及数据

1.  需要2个ClientDataSet组件: 2.  clientDataSet1连接目标表,clientDataSet2连接源表,如果无法直接连接,使用DataSetProvider进行桥接: 3.  复制clientDataSet2结构到clientDataSet1: for I := 0 to clientDataSet2.FieldDefs.Count-1 do fieldNames:=fieldNames+clientDataSet2.FieldDefs[i].Name+';';

Delphi ClientDataSet 主从结构 BUG

使用ADO控件 .ClientDataSet .增加了从表与主表的关连字段 SheetID,别的设置全为默认.如图1所示 ======= 问题 BUG: 打开主表与从表,先不对主表进行任何操作.图2所示. 在从表编辑中,使用 ClientDataSet2.Delete; 进行对从表进行删除行,将该SheetID(B41170600011)的从表的所有行删除.如图3所示. 这里,对主表对应的行(B41170600011)字段,除了SheetID字段进行编辑,你会发现,从表里刚才删除的数据又回来了.

CRM中复制记录的方法

function Copy() { //step 1 查询当前信息 var new_code = Xrm.Page.getAttribute("new_code").getValue();//促销编号 var new_name = Xrm.Page.getAttribute("new_name").getValue();//促销名称 var new_ruletypecode = Xrm.Page.getAttribute("new_ruletypecode

Delphi 常用函数记录

//判断是否是数字 function IsNumeric(sDestStr: string): Boolean; //简写多余汉字 function SimplifyWord(sWord: string; iMaxLen: Integer): string; //读写取注册表中的字符串值 function ReadRegStr(sDWName, KeyName: string; SvrBZ: TSvrOrClient; DefaultValue: string = ''): string; pr

使用Delphi声明C++带函数的结构体实战 good

在小组开发中,应用程序部分采用Delphi7,一些组件使用C++做.在今天将一个动态库的C++接口声明头文件转换为D7的Unit单元时,一切都很顺利,直到遇到下面这样一个另类的东西: typedef struct tagRecord{ int val; int getvalplus() {  val++;  return val; }}TRecord, *PRecord; 带函数的结构体!面对这个面目狰狞的家伙,我开始无所适从,狂在GOOGLE.BAIDU里通过关键字“Delphi 带函数的记录

navicat编辑记录 (zhuan)

https://www.navicat.com.cn/manual/online_manual/cn/navicat/linux_manual/EditRecord.html ************************************************************ 首页 上一页 下一页 编辑记录 导览栏可让你快速地切换记录.插入.更新或删除记录.以网格查看数据是最有利于在表中输入新记录和编辑的旧记录. 添加一条记录 请确保你的光标位于在表上第一个空白单元格,然后输

Android 复制 粘贴 剪贴板的使用 ClipboardManager

Copy and Paste 版本:Android 4.0 r1 快速查看 用于复制粘贴数据的基于剪贴板的框架. 同时支持简单和复杂的数据,包括文本串.复杂的数据结构.文本和二进制流数据.程序 asset. 直接从剪贴板复制粘贴简单文本. 用content provider复制粘贴复杂数据. 需要API 11版本. 在本文中 剪贴板框架 剪贴板类 ClipboardManager ClipData.ClipDescription和ClipData.Item ClipData常用方法 将剪贴板中数