clientDataSet和TDataSetProvider对数据的操作

Delphi 使用 Datasnap 进行三层应用开发 转载记录: Delphi 使用 Datasnap 进行三层应用开发,积累了几种技术,总结如下: 1、(推荐!)在 Datasnap 服务端 使用 TDatasetProvider,客户端 使用 TDSProviderConnection 1)采用Datasnap Server ,可以使用TCP/IP、Http 通信。TDatasetProvider能够提供“元数据与业务数据”。 推荐:采用(FireDac技术) TFDConnection 连接数据库,通... 阅读详情
 dbgrdh1: TDBGridEh;
    con1: TADOConnection;
    qry1: TADOQuery;
    idmsg1: TIdMessage;
    ds2: TDataSource;
    ds1: TClientDataSet;

    dtstprvdr1: TDataSetProvider;


配置连接

qry.con指向con1

dtstprvdr1 的dataset指向qry1

dtstprvdr1 .option.poAllowCommandText=True

TClientDataSet.providerName=dtstprvdr1

ds2的dataset指向ds1

DBGrid1  datesource 指向 datasource1

在ds1.里面写如下代码

 ds1.Close;
    ds1.CommandText:='select * from Tree';
    ds1.Open;

得到查询的结果如下所示




//提交添加数据

    ds1.Insert;
    ds1.FieldByName('id').AsString:='cc';
    ds1.FieldByName('name').AsString:='aa';
    ds1.FieldByName('parentID').AsString:='bbb';
    //ds1.post;(当这个不能实现的时候就用下面的实现更新)
    ds1.ApplyUpdates(0); //填充数据

//删除数据

    ds1.Close;
   ds1.CommandText:='DELETE FROM Tree WHERE Tree.id='+ QuotedStr('4');
   ds1.Execute;

//更新数据

  ds1.Close;
   ds1.CommandText:='UPDATE Tree SETTree.id=xx  WHERE Tree.id=xx';
   ds1.Execute;

//字段排序

  ds1.IndexFieldNames:='id';

//筛选数据

 ds1.Filter:='name like '+QuotedStr('a%');   //筛选的表达式
 ds1.Filtered:=True;  //显示筛选后的数据消息



//TcxDBTextEdit    


设置dataBiding的datafield 为数据库指定的字段名称,datasource为指定数据库的datasource 



//绑定TLookUpComboBox

properties  -> ListField

properties  ->FieldKey

properties  ->ListSource

这三个分别设置就可以显示出结果


//TcxDBDateEdit   数据绑定日期控件


// DataClientSet执行SQL语句

首先,放一个TSQLDataSet+TDatasetProvider+TClientDataSet控件在窗体上,然后设置SQLDataset的SQLConnection属性为TSQLConnection1。

注意:如果用ClientDataSet控件查询,需要首先设置TDatasetprovider-options-poallowcommandtext 设为True.然后TDataSetprovider才能接受ClientDataSet的SQL语句。

procedure TForm1.Button1Click(Sender: TObject);
begin
self.ClientDataSet1.Close;
self.SQLDataSet2.Close; //必须先关闭SQLDataSet2,否则会报错。
self.ClientDataSet1.CommandText:='insert into main (title) values (''QQQQQQQQQQQQQQQ'')';
self.ClientDataSet1.Execute;

self.ClientDataSet1.Close;
self.ClientDataSet1.CommandText:='select * from main';
self.ClientDataSet1.Open;
end;

用SQL语句可以直接添加数据记录到数据库中,不用再ApplyUpdates方法,谢谢。



//dataclientset 之间的副局拷贝

 CDS2.AppendData(CDSEmployee.Data,False); 

或者是

CDS2.Data:=  CDSEmployee.Data;


 将DS1(数据源)的dataset = CDS2


dbgrdh2.DataSource:=DS1;  //绑定数据源


这样dbgrdh2就会显示数据。


//判断dbgridth数据类型

 if  CDSEmployee.Fields[0].DataType in [FTInteger,FtFloat]  then
   begin
        ShowMessage('AA');
   end;



Delphi中数据库内容编辑实践:从Edit方法到组件应用 本文还有配套的精品资源,点击获取 简介:Delphi编程环境通过Edit方法提供了一种交互式方式编辑数据库记录。本文将详细介绍使用Delphi中的数据库组件,如TDataSource、TTable和TField,执行编辑操作的过程。同时,本文还将探讨TDBEdit控件的数据绑定,以及事务处理和编辑过程中的注意事项,为开发者构建稳定和健壮的数据库应用程序提供指导。 ... 阅读详情

相关推荐

delphi调用sql server 中DTS导入数据,纯delphi代码

delphi调用sql server 中DTS导入数据,纯delphi代码;需要安装sqlserver dts;支持txt\access\sqlserver\xls 之间的批量导入处理,事务保护,保证数据完整性,效率高

TClientDataSet 模拟 EXCEL表

日常处理数据时,经常需要,从EXCEL表格中,批量导入数据,通过 XLSReadWriteII编程,会很快导入。但是,客户提供的EXCEL表的字段,数据格式,字段的排序,有很大的区别。因此,能否做一个能够批量导入,很有必要。同时,又需要将EXCEL表能够,直接导入并显示在DBGridEh中。三、创建ClientDataSet的字段。约定Sheet=0,即第1个表。二、分析EXCEL表相关参数。

lyhoo163的专栏 2560

ClientDataSet数据更新,Delta解析,视图更新

将ClientDataset的Delta数据打包成JSon字符串 可以将这个JSon字符串传递到服务端, 进行解码,生成更新的SQL语句. 主键更新. 建议主键使用GUID,这样更新数度快, SELECT可以多个表,但是要更新的字段不要AS成其他名字. 打包的时候指定要更新的表和更新主键. 思路不错的.封装到位. 数字字段删除也可以更新.

delphi开发学习四:TClientDataSet与TDataSetProvider控件使用实例

1、TClientDataSet控件 通过TClientDataSet控件可以建立瘦客户端的应用程序,且数据执行效率较高,但它不能和数据库自动连接,程序中必须制定它如何获取数据。一般情况下,TClientDataSet 控件获取数据的方式主要有 3 种:从本地文件中获取、从本地的另外一个数据集对象中获取以及通过 IAppServer 接口来获取。 2.TDataSetProvider 控件

u011846249的专栏 7131

TClientDataSet用法

delphi的TClientDataSet用法,客户端数据处理详解

report_delay_calculation/check_timing/report_annotated_parasitics/report_analysis_coverge

如何debug 一颗cell 或一段net 的delay, 常用的办法是用report_delay_calculation 报这颗cell 或这段net, 会得到形式如下的report, 从该report 中可以得到: 表头需要特别关注的是command, 确定report 的对象及加的option; From/To pin: cell 的input pin 和...

diedai7174的博客 1798

delphiXE客户端TClientDataSet调用服务器返回的TDataSet

delphiXE客户端TClientDataSet调用服务器返回的TDataSet 上篇讲了:因为TDataset为所有数据集组件中的基类,是个抽象类和虚拟类,所以不能直接引用其大部分的属性、方法和函数,必须通过其派生类来转化后,再使用其属性、方法和函数;只能使用有限的属性、方法和函数。 比如:Dataset.recordCount 这样引用是要报错的。只能使用 while ...

pulledup的博客 568

三菱FX3U PLC红绿灯ST编程实战:从基础逻辑到急停功能完整实现

本文以十字路口红绿灯控制为例,详细讲解了三菱FX3U PLC使用ST编程的完整实战过程。内容涵盖从基础时序逻辑、状态机设计,到急停功能、黄灯闪烁、昼夜模式切换等高级功能的实现,并提供了代码优化与调试技巧,帮助工程师掌握结构化文本在工业控制中的清晰、结构化应用。

weixin_29070861的博客 533

ClientDataSet

看到一篇介绍ClientDataSet和TDataSetProvider,非常精彩,特此保存。 ================================================================================= 前台:D7或D2005; DBExpress连接组件:TSqlConnection,TSqlQuery ,TDataSetProvi

时光如流水的专栏 1970

TSMaster MBD模块实战:如何用Simulink模型快速搭建汽车电子测试环境

本文实战演示了如何利用TSMaster的MBD模块,将Simulink模型快速部署为汽车电子自动化测试环境的核心。通过建立模型与TSMaster系统变量的实时数据通道,并利用数据仓库统一数据定义,工程师能无缝连接算法仿真与真实总线网络,显著提升从模型到HIL测试的验证效率。

php55的博客 207

开源处理器Rocket的分支预测机制研究与性能评估(二)

Rocket是基于RISC-V指令集架构的开源处理器,具有分支预测功能,其实现了GShare分支预测机制,在分析Rocket处理器分支预测处理过程、分支预测实现原理的基础上,利用模拟器进行了性能测试,并依据测试结果,对Rocket处理器分支预测参数配置给出建议。

leishangwen的专栏 5691

ClientDataSet加上TDataSetProvider的数据保存问题

ClientDataSet加上TDataSetProvider的数据保存问题前台:D7或D2005; DBExpress连接组件:TSqlConnection,TSqlQuery ,TDataSetProvider,TClientDataSet;后台:SQL Server 200

SUNSTONE的Delphi笔记 1万+

电子元器件基础:电阻、电容、电感的特性与应用解析

本文深入解析了电子元器件中电阻、电容和电感三大基础元件的核心特性、工作原理与选型应用。电阻作为电路中的‘交通警察’,控制电流与分配电压,其额定功率与精度是关键选型参数。文章结合实战经验,详细阐述了它们在电源滤波、信号处理及高频电路中的不同表现与避坑指南,是电子设计与维修的必备基础知识。

weixin_29213655的博客 377

Delphi:ClientDataset+TDataSetProvider的数据保存问题

看到一篇介绍ClientDataSet和TDataSetProvider,非常精彩,特此保存。 =========================================================================== TClientDataSet用法第十一章 TClientDataSet  与TTable、TQuery一样,TClientDataSet也是从T...

weixin_30416871的博客 708

别再只玩积木了!用乐高EV3和官方软件,手把手教你做个能巡线的小车(附完整代码)

本文详细介绍了如何利用乐高EV3套件和官方软件制作智能巡线机器人,从硬件组装到软件编程全面覆盖。通过传感器原理讲解、控制算法调试等工程化细节,帮助读者掌握机器人开发的核心理念,特别适合STEAM教育和硬件编程爱好者实践。

weixin_30776273的博客 449

YOLO26 改进 - 注意力机制 | Mask Attention掩码注意力,可学习掩码矩阵破解低分辨率特征提取难题 | 2025 预印

本文提出了用于低分辨率图像分割的MaskAttn - UNet框架,并将其核心的掩码注意力机制集成到YOLO26中。传统U - Net类模型难以捕捉全局关联,Transformer类模型计算量大,而掩码注意力机制通过可学习的掩码,让模型选择性关注重要区域,融合了卷积的局部效率和注意力的全局视野。其工作流程包括特征适配、掩码生成、定向注意力计算和特征融合。我们将掩码注意力机制代码集成到YOLO26中。

魔改工程师的博客 834

C/S结构中成批保存CLIENTDATASET中的数据

<br />这应该不算是什么技巧,估计有数据库方面程序的Delphi程序员都知道;本来没有写想到<br /> 需要把它写成一篇贴子,但前不久看个别刚入门的兄弟的代码时。才发展他们还在刀<br /> 耕火种,为此才想把它写出来算是对入门的兄弟们的一点帮助,让大侠们见笑了;<br />  我们都知道TCLIENTDATASET有把对它其中的数据所做的修改记录下来的功能;如果需要还可以将<br />  修改回复到以前的某个状态,而且结合DATASETPROVIDER还可能自动完成改动到SQL映射,将改动成批提交到

xxhh07的专栏 801

YOLO26涨点改进 | 小目标损失函数独家改进篇 | TGRS 2025 | 引入AdaFocalLoss损失函数,改进小目标检测,自适应聚焦小目标与样本分布不平衡,提升检测精度与训练稳定性

目录一、前言:YOLO26原生损失函数在小目标检测中的核心痛点(涨点瓶颈)1.1 小目标权重不足,聚焦能力薄弱1.2 样本分布不平衡适配性差,正负样本权重失衡1.3 训练不稳定,易出现梯度消失/震荡1.4 未区分小目标与背景的冗余干扰,误检率高二、TGRS 2025顶刊灵感解析:自适应聚焦损失的核心逻辑三、全网独家创新:AdaFocalLoss损失函数设计与YOLO26适配(核心重点,可复现)3.1 AdaFocalLoss函数整体设计(独家设计,清晰可复现)3.2 各核心模块详细设计(独家创新,可直接复现

qq_36130719的博客 202

ClientDataset

http://www.delphibbs.com/delphibbs/dispq.asp?lid=3317420--  DELPHI 论坛  (http://www.gz9f.com/bbs/list.asp?boardid=5)----  TClientDataSet加上TDataSetProvider的数据保存问题?  (http://www.gz9f.com/bbs/dispbbs.asp?

宋威的专栏 7136

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

ClientDataSet.SetProvider 需要重复设置,我认为它可能存在问题

如果你使用代码创建TClientDataSet, TDataSetProvider, TDataSet并将其关联起来 TClientDataSet->TDataSetProvider->TDataSet  但指定其TClientDataSet.ProviderName字符串在Open ClientDataSet 可能会出现如下问题: invalid data packet 造成这个原因有

blue_morning的专栏 2270

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

C\S结构中成批保存CLIENTDATASET中的数据

这应该不算是什么技巧,估计有数据库方面程序的DELPHI程序员都知道;本来没有写想到需要把它写成一篇贴子,但前不久看个别刚入门的兄弟的代码时。才发展他们还在刀耕火种,为此才想把它写出来算是对入门的兄弟们的一点帮助,让大侠们见笑了; 我们都知道TCLIENTDATASET有把对它其中的数据所做的修改记录下来的功能;如果需要还可以将 修改回复到以前的某个状态,而且结合DATASETP...

dibodang1423的博客 130

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

ClientDataset+TDataSetProvider的数据保存问题

看到一篇介绍ClientDataSet和TDataSetProvider,非常精彩,特此保存。 ================================================================================= 前台:D7或D2005; DBExpress连接组件:TSqlConnection,TSqlQuery ,TDataSetProvide...

weixin_30542079的博客 516

ClientDataSet的使用技巧

1. TClientDataSet、TDataSetProvider的使用技巧ClientDataSet是一个功能强大的类,通过在内存中模拟表格,实现了其它数据集组件所不具备的强大功能。TClientDataSet从类的继承关系上来看,是TDataSet这个抽象类的子类,所以我们可以在TDataSet这个抽象层次上对其进行我们熟悉的操作,比如导航、排序、过滤、编辑。要注意的是,TClientDat...

zisongjia的博客 3637
上一篇: 远程连接SQL Server 2008,服务器端和客户端配置
下一篇: MMSQL游标的使用
蓝魔鬼仙
博客等级 码龄15年 14粉丝 55原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值