dataset 该怎么使用????

csdn小虫 2008-06-18 03:15:45
有看到这么设置的,显示数据库中数据

一个TADOQuery,名称为ADOQuery1,用于连接数据库,一个TDataSetProvider,名称为DataSetProvider1,其DataSet设置为ADOQuery1,一个TClientDataSet,名称为ClientDataSet1,其ProviderName设置为DataSetProvider1,一个TDataSource,名称为DataSource1,其DataSet设置为ClientDataSet1,一个TDBGrid,名称为DBGrid,其DataSource为DataSource1;查询数据的SQL放在ADOQuery1的SQL中,例:ADOQuery1.SQL.Add('你的SQL语句');

只用adoquery1 datasource1 dbgrid1不就可以了么

为什么要搞那么复杂,第一种方法应该有存在哪些优势吧????
TDataSetProvider
TClientDataSet
什么情况下使用 有什么好处?????
...全文
68 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jzinfo 2008-06-21
  • 打赏
  • 举报
回复
三层的应用吧.

大型的ERP CRM系统。。 基本都这样应用的..
DataSetProvider,ClientDataSet
shanxmxj 2008-06-20
  • 打赏
  • 举报
回复
TClientDataSet可用于一层,二层和三层,一层就是保存文件,有时候也有运用。三层不说。
而两层的实质是在数据集之间加了一个中间层,就是数据集提供者。你看它的名字TDataSetProvider,说明其既和TDataSet打交道,又身兼提供者的重担。
当数据集组件连接数据库后,它不是直接和TDataSource组件相连,而是连接TDataSetProvider。那么作为与TDataSource组件相连的TClientDataSet就必须得到数据,从哪儿来?就从TDataSetProvider来。
这样是为了实现数据缓冲,或者从表面上讲,为了实现多条记录一并更新,否则,你每次都操作在数据集上,而数据集又每次都把结果反映到数据库里,这样怎么实现缓冲的数据集的好处呢?
最后一个图:
TDataGrid-->TDataSource-->TClientDataSet-->TDataSetProvider-->TDataSet(-->可能还有数据连接组件)
bds248 2008-06-20
  • 打赏
  • 举报
回复
因为想使用TClientDataSet,是对DataSet的扩展,功能比较多。
caize131 2008-06-18
  • 打赏
  • 举报
回复
不太清楚了,中间层使用Delphi很恶心
Corn1 2008-06-18
  • 打赏
  • 举报
回复
主要用在三层模式下
TDataSetProvider放在中间层,TClientDataSet放在客户端

2,496

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧