DELPHI基础教程:数据访问部件的应用及编程(一)[3]
表 Delphi用于数据维护的方法
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
方 法 名 功 能
──────────────────────────────
Edit 将数据集置为编辑状态
──────────────────────────────
Append 投寄所有被修改的记录 将记录指针移到表中的最后一条记录 且将数据集置为插入状态
──────────────────────────────
Insert 投寄所有被修改的记录将数据集置为插入状态
──────────────────────────────
Post 将插入的新记录和修改的记录写回磁盘上的数据库表 即投寄 当投寄成功时数据集回到浏览状态 若投寄不成功数据集仍然保持原有状态
──────────────────────────────
Cancel 取消当前的操作且将数据集置为浏览状态
──────────────────────────────
Delete 删除当前记录指针所在的记录且将数据集置为浏览状态
──────────────────────────────
AppendRecord 在表的最后插入一条新记录 记录的各个字段值作为
AppendRecord的参数传递给新记录
──────────────────────────────
InsertRecord 在当前指针所在记录的后面插入一条新记录 记录的各个字段值作为InsertRecord的参数传递给新记录
──────────────────────────────
SetRecords 修改当前记录 字段名和相应的字段值作为SetRecords的参数
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Edt方法 如果应用程序想对数据集中的数据记录进行修改 我们必须要将数据集设置成编辑状态 调用数据集部件的Edit方法便可以将数据集置成编辑状态 当数据集已经处在编辑状态时 调用Edit方法不会产生作用 当数据集处于编辑状态时 移动记录指针或调用post方法都可以将当前记录的修改写回到磁盘数据库表中 在程序中 Edit方法和post方法常常配合在一起使用 用于修改表中的记录 如
Table Edit;
Tabel FieldByName( CustNo ) Asstring := ;
Table st;
在上述这一段程序代码中 第一行程序是将Table 置成编辑状态 第二行程序是对当前记录指针所在的记录的CustNo字段的值修改成 第二行程序是调用post方法将对当前记录的修改写回数据库表
Append方法和Insert 方法 这两个方法都是将数据集部件置成插入状态 以在表中插入新记录 Insert方法是在当前指针位置的记录后面插入一打新记录 Append方法是在表的尾部插入一打新记录 不过这要注意 无论用户是调用Insert方法还是Append方法插入新记录 增加记录到一个具有索引的表中时 都是按照索引顺序写入其位置 也就是说对于索引表格Insert方法和Append方法的作用是一样的 Append仅适用于没有索引的表 Insert方法和Append方法实际上是将数据集置成插入状态 并且插入一条空白记录 要真正插入一条新记录 我们必须在调用Insert或Append方法之后 还要给新记录的各个字段赋值 最后调用post方法 将插入的记录写回数据库表 调用这两种方法插入新记录的一般步骤如下
With tabe DO
Begin
Insert; {调用Insert方法 插入一条空记录}
<为记录的各字段赋值>
Post;
End;
Post方法 数据集中的记录被修改或插入新记录时调用post方法将数据集的修改写回到数据库表 根据数据集所处的状态不同 post方法所产生的作用和效果是不一样的
● 当数据集处于编辑状态时 调用post方法 将当前记录的修改写回数据库表
● 当数据集处于插入状态时 调用post方法 将插入的新记录写回数据库表
● 当数据集处于SetKey状态时 调用post方法 将数据集置成浏览状态(Browse状态)
post方法的调用既可以显式地调用 也可以隐含地调用 当数据集处于编辑状态或插入状态时 当移动记录指针时 Delphi会隐含地调用post方法 将将当前记录的修改写回数据库表 在程序调用Insert方法或Append方法时 也会隐含地调用Post方法 将先前的数据集的修改写回数据库表
Delete方法 Delete方法用于删除表中的记录 调用Delete方法时 将会删除表中当前的记录 并且自动地将记录指针移到被删记录的下一条记录 同时将数据集置成Browse状态
Cancel方法 Cancel方法用于取消当前的操作 当程序还没有调用Post方法 将对记录的修改写回数据库表时 调用Cancel方法 可以将记录恢复到没有修改之前的状态 并且在调用Cancel方法时 它总是将数据集置成Browse状态
AppendRecord方法和InsertRecord方法 这两个方法分别与Append方法和Insert方法相似 它们都是用于在表中插入一条新记录 但AppendRecord方法和InsertRecord方法比Append和Insert方法更简单更方便一些 它们直接在表中插入一条新记录 新记录的各个字段值作为AppendRecord或InsertRecord方法的参数传递给新记录并且不需显式地调用post方法 将插入的新记录写回数据库表 在给插入的新记录赋字段值时 将由多个字段值组成的数组作为AppendRecord或InsertRecord的参数 在字段值数组中可以为每一个字段提供一个值 或从左边一列开始依次为任意多个字段赋值 也就是说 用户可以从数据库表的最左一列起 把许多列的值同时传递给InsertRecord 直到所有的字段被赋值 用户也可以省略字段序列后面的的一些字段值 InsertRecord会用空值来填充这些字段 用户也可以对那些明确希望用空填充的字段传递保留字NIl
lishixinzhi/Article/program/Delphi/201311/25163
2024-10-21 广告