起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 216|回复: 10

TSQLDATASET**

[复制链接]
发表于 2008-8-25 10:34:58 | 显示全部楼层 |阅读模式
有谁能帮我解释下,TSQLDATASET的用法,我是新手.最好是有个例子,谢谢!
回复

使用道具 举报

发表于 2008-8-25 10:38:22 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-8-25 10:44:38 | 显示全部楼层
怎么网页打不开
回复 支持 反对

使用道具 举报

发表于 2008-8-25 10:53:06 | 显示全部楼层
http://bbs.justep.com/forum.php? ... &highlight=wiki
这个帖子中的连接你能打开么?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-8-25 10:57:07 | 显示全部楼层
打得开,但是里面的这个网址也打不开,有别的网站吗?
回复 支持 反对

使用道具 举报

发表于 2008-8-25 11:15:12 | 显示全部楼层
应该是wiki有问题了
1. 激活数据集
数据集默认处于关闭状态,没有从服务器获取数据,此时数据集中没有数据,当数据集处于打开状态(DataSet.Active=True)时候,才会从服务端获取到需要的数据。

1.1. 相关属性和方法
property Active: Boolean;
判断数据集是否处于打开状态,True为打开状态,False为关闭状态

procedure Open;
打开数据集,打开以后,Active属性为True

procedure Close;
关闭数据集,关闭以后,Active属性为False


1.2. 激活数据集的方法
DataSet.Active := True;

DataSet.Open;


1.3. 关闭数据集的方法
DataSet.Active := False;

DataSet.Close;
回复 支持 反对

使用道具 举报

发表于 2008-8-25 11:16:17 | 显示全部楼层
.1. 相关属性和方法
Proerty State: TDataSetState;
数据集状态属性,可以是dsBrowse,dsInsert,dsEdit

procedure Append;
增加记录,修改数据集状态为dsInsert

procedure Insert;
增加记录,修改数据集状态为dsInsert

procedure Edit;
编辑当前记录,修改数据集状态为dsEdit

procedure Post;
提交修改或者新增的记录,修改数据集状态为dsBrowse

procedure Cancel;
取消修改或者新增的记录,取消上次执行Append或者Edit之后对字段的所有修改,修改数据集状态为dsBrowse

procedure Delete;
删除当前记录,不修改数据集的状态


2.2. 修改字段的值

切换行号显示
   1 //修改数据集状态,让数据集处于新增状态.
   2 DataSet.Edit;
   3 //修改字段的值.
   4 DataSet.FieldByName('ZD1').AsString := 'test';
   5 //确认修改,让数据集回到浏览状态.
   6 DataSet.Post;

2.3. 新增一条记录

切换行号显示
   1 //修改数据集状态,让数据集处于新增状态.
   2 DataSet.Append;
   3 //对每一个字段赋值.
   4 DataSet.FieldByName('ZD1').AsString := 'test';
   5 DataSet.FieldByName('ZD2').AsString := 'test';
   6 DataSet.FieldByName('ZD3').AsString := 'test';
   7 //确认新增,让数据集回到浏览状态.
   8 DataSet.Post;
回复 支持 反对

使用道具 举报

发表于 2008-8-25 11:16:38 | 显示全部楼层
3. 数据集增删改

3.1. 相关属性和方法
procedure Append;
增加记录,修改数据集状态为dsInsert

procedure Insert;
增加记录,修改数据集状态为dsInsert

procedure Edit;
编辑当前记录,修改数据集状态为dsEdit

procedure Post;
提交修改或者新增的记录,修改数据集状态为dsBrowse

procedure Cancel;
取消修改或者新增的记录,取消上次执行Append或者Edit之后对字段的所有修改,修改数据集状态为dsBrowse

procedure Delete;
删除当前记录,不修改数据集的状态
回复 支持 反对

使用道具 举报

发表于 2008-8-25 11:16:52 | 显示全部楼层
. 数据集的遍历
客户端的数据集一次只能修改一条记录,不能同时修改多条记录。可以被修改的记录是数据集的当前记录,如果需要修改多条记录,就要不断的滚动数据集,让需要修改的记录变成当前记录来修改。

4.1. 相关属性和方法
property Bof: Boolean;
数据集当前记录是否定位到第一条记录

property Eof: Boolean;
数据集当前记录是否定位到最后一条记录

procedure First;
移动数据集的当前记录到第一条记录

procedure Prior;
移动数据集的当前记录到前一条记录

procedure Next;
移动数据集的当前记录到后一条记录

procedure Last;
移动数据集的当前记录到最后一条记录

function MoveBy(Distance: Integer): Integer;
移动数据集的当前记录到相对当前记录Distance的记录


切换行号显示
   1 //定位到数据集的第一条记录.
   2 DataSet.First;
   3 while not DataSet.Eof do
   4 begin
   5   DataSet.Edit;
   6   //修改字段的值.
   7   DataSet.FieldByName('ZD1').AsString := 'test';
   8   DataSet.Post;
   9   //滚动到下一条记录.
  10   DataSet.Next;
  11 end;
回复 支持 反对

使用道具 举报

发表于 2008-8-25 11:17:09 | 显示全部楼层
5. 更新数据集

5.1. 相关属性和方法
property Bof: Boolean;
数据集当前记录是否定位到第一条记录

procedure CancelUpdates;
取消本地数据集的修改,不提交给服务端

function ApplyUpdates(MaxErrors: Integer); Integer;
把本地数据集的修改提交给应用服务端

procedure ApplyUpdates;
把本地数据集的修改提交给应用服务端

procedure ApplyUpdates(Cascade: Boolean);
把本地数据集的修改提交给应用服务端

以上给出的方法都是修改本地数据集的数据,并没有把修改提交给服务端,提交给服务端,需要调用DataSet.ApplyUpdates。

切换行号显示
   1 //定位到数据集的第一条记录.
   2 DataSet.First;
   3 while not DataSet.Eof do
   4 begin
   5   DataSet.Edit;
   6   //修改字段的值.
   7   DataSet.FieldByName('ZD1').AsString := 'test';
   8   DataSet.Post;
   9   //滚动到下一条记录.
  10   DataSet.Next;
  11 end;
  12 //提交修改到服务端.
  13 DataSet.ApplyUpdates;
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-21 03:31 , Processed in 0.038836 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表