• 主页
  • 招聘
  • 语言基础/算法/系统设计
  • 数据库相关
  • 图形处理/多媒体
  • 网络通信/分布式开发
  • VCL组件开发及应用
  • Windows SDK/API

你知道吗?

snowfog 2002-04-30 03:29:35
ClientDataSet组件的属性Data的结构?
...全文
8 点赞 收藏 16
写回复
16 条回复
Borland_Delphi 2002年04月30日
不知道
回复 点赞
日总是我哥 2002年04月30日


李维在他的书中说:我也很想知道Data的数据结构!


我不想~~~~
回复 点赞
make11111 2002年04月30日
对!!!!!
回复 点赞
loverlv 2002年04月30日
看了才知道
回复 点赞
asdie 2002年04月30日
Data是OleVariant类型,它是一个代表midas数据包的变体,tclientdataset知道如何把这个数据包转化为可以使用的格式。他是受com子系统的数据集的限制,他可以作为从服务器返回数据的缓冲。
回复 点赞
snowfog 2002年04月30日
cry
回复 点赞
snowfog 2002年04月30日
why
回复 点赞
snowfog 2002年04月30日
bluedreaming(蓝色海岸):
我已经得到了你说的特殊结构!我也知道Delta的作用!谢



回复 点赞
BlueDreaming 2002年04月30日
TClientDataSet的Data是用特殊格式封装的无状态(stateless)记录集而已;Belta则是Data中发生改变的记录集,当ApplyUpdates(0)时则是将Belta中的数据提交数据库!
回复 点赞
snowfog 2002年04月30日
我是指如何把
PSafeArray = ^TSafeArray;
{$EXTERNALSYM tagSAFEARRAY}
tagSAFEARRAY = record
cDims: Word;
fFeatures: Word;
cbElements: Longint;
cLocks: Longint;
pvData: Pointer;
rgsabound: array[0..0] of TSafeArrayBound;
end;
这个结构,填充正确然后转换成oleVariant类型赋给Data!
回复 点赞
CodeDuDu 2002年04月30日
这.........
回复 点赞
GreenWaterBlueSky 2002年04月30日
OleVariant:可变类型
回复 点赞
yuanjunjing 2002年04月30日
--看帮助

Represents the data of the client dataset in a transportable format.

property Data: OleVariant;

Description

Data represents the client dataset’s local, in-memory copy of its data, encoded as a data packet. This is the data in the binary format used internally by the client dataset.

This data packet can originate from a provider, a file on disk, or the Data property of another client data set.

Note: To obtain a copy of the client dataset’s data as an XML data packet instead of in a binary format, use the XMLData property.


----例子
This example shows how to use the OnDataRequest event to allow a client application to pass a filter expression to the provider and then receive only the records matching the filter.
The OnDataRequest event handler of the provider looks like the following:

function TForm1.Provider1DataRequest(Sender: TObject; Input: OleVariant): OleVariant;
begin
with (Sender as TDataSetProvider) do
begin
DataSet.Filter := Input;
DataSet.Filtered := True;
DataSet.First;
Result := Data;
end;
end;


On the client side, the DataRequest method can be used to fetch the data. The DataRequest method triggers an OnDataRequest event in the Provider component and returns the result of the event handler:

procedure TForm1.Button1Click(Sender: TObject);
begin
ClientDataSet1.Data := ClientDataSet1.DataRequest(FilterEdit.Text);
end;

回复 点赞
snowfog 2002年04月30日
i don't know, too!
回复 点赞
linzhisong 2002年04月30日
不懂,愿闻其详!
回复 点赞
dreamfan 2002年04月30日
不知道
回复 点赞
发动态
发帖子
Delphi
创建于2007-08-02

1469

社区成员

26.2w+

社区内容

Delphi 开发及应用
社区公告
暂无公告