有关操作ClientDataSet的问题,请大家帮忙;
请教大家一个问题: 我有一个功能,使用一个ClientDataSet获取了一个外部一个DataSet的Data之后,外部的DataSet关闭了,我现在需要去针对这个ClientDataSet进行一个操作,操作步骤是:先通过主键字段去查找对应的记录是否存在,如果存在则先删除对应的记录,然后在这个ClientDataSet的开头插入记录;(插入的记录总是在第一条)
比如现在的记录如下:
插入之前的数据情况:
CODE NAME
001 张三
005 王五
002 李四
我现在操作一条记录: 003 王五
需要达到的插入之后的效果:
CODE NAME
005 王五
001 张三
002 李四
我现在的处理方式时:
if (AClientDataSet.Locate(KeyFieldName,KeyFieldValue,[]) then
AClientDataSet.Delete;
AClientDataSet.First;
AClientDataSet.Insert;
.....对AClientDataSet的字段进行赋值
AClientDataSet.Post;
但是实际的效果却是:
CODE NAME
001 张三
005 王五
002 李四
比如现在的记录如下:
插入之前的数据情况:
CODE NAME
001 张三
005 王五
002 李四
我现在操作一条记录: 003 王五
需要达到的插入之后的效果:
CODE NAME
005 王五
001 张三
002 李四
我现在的处理方式时:
if (AClientDataSet.Locate(KeyFieldName,KeyFieldValue,[]) then
AClientDataSet.Delete;
AClientDataSet.First;
AClientDataSet.Insert;
.....对AClientDataSet的字段进行赋值
AClientDataSet.Post;
但是实际的效果却是:
CODE NAME
001 张三
005 王五
002 李四
...全文
相关推荐
dbgrideh中添加checkbox源码
如果您有任何问题或需要帮助,请随时联系我们。
ClientDataSet的过滤问题
### ClientDataSet过滤问题详解#### 一、概述在Delphi开发环境中,`ClientDataSet`是一种常用的数据处理组件,主要用于客户端的数据操作与管理。
ClientDataSet的使用
### 实现数据操作ClientDataSet提供了丰富的数据操作接口,包括但不限于:- `Append`和`Insert`用于添加新记录。- `Edit`和`Post`用于修改现有记录。
Delphi7调C#Webservice用返回ClientDataSet XML格式数据
**使用ClientDataSet**:ClientDataSet是一个轻量级的数据库组件,它可以脱离数据库独立工作,适用于内存中的数据操作。
ClientDataSet动态建表的简单例子
源码可能包括一个窗体,上面放置了一个ClientDataSet组件,以及对应的事件处理代码来执行建表、插入数据和过滤操作。


数据库相关
