例如如果表Country有NameCaptialContinentArea和Population字段并且数据集部件Table与它相连下面的代码便可以在Country表中当前记录的后面插入一条新记录
TableInsertRecord ([中国北京五洲])
在上述代码中没有为Area和population字段赋值InsertRecord会用空值来填这两个字段
SetRecords方法调用该方法可以修改表中当前记录的多个字段的值调用该方法之前必须将数据集部件置成编辑状态调用该方法之后还要调用post方法才能真正将当前记录的修改写回数据库表调用SetRecord方法时被修改的字段值必须要与表中实际存在的字段名对应并且数据类型要相匹配例如下面的代码是修改上面刚刚插入的那条记录
TableEdit;
TabelSetRecord( )
Tabelpost;
这一段代码是修改上面刚刚插入的那条记录的Area 和Population 字段的值而对NameContinent和Captial字段没有修改
在数据集部件中还有一个重要方法Abort方法该方法是用于取消其他方法的调用的如在插入记录修改记录和删除记录之前往往需要用户确认是否真的要执行这种操作此时调用Abort方法便可取消各种方法的调用下面的代码是在用户删除一条记之前让用户确认是否真的要执行删除操作
TabelBeforeDelete(DataSet:TDataSet)
If MessageDlg(真的要删除记录吗?
mtConfirmationmbyesNoCanel <> mryes then
Abort; {取消删除操作}
关于书签(BookMark)操作
书签操作主要用于在表中快速地定位记录指针在应用程序中常常要保存记录指针所在的位置在进行其他处理之后希望能快速地返回到先前指针所在的位置此时使用书签将显得特别有用有关书签操作Delphi提供了三个方法它们是
● GetBookMark
● GotoBookMark
● FreeBokMark
这三个方法一般都是在一起使用GetBookMark方法返回一个TBookMark类型的变量该变量包含着指向当前记录的指针GotoMark方法用于快速地将记录指针定位到具有书签的记录处FreeBookmark方法是与GetBookMark方法相反的操作它释放书签标志下面的程序代码阐述了书签操作的一般方法
BookMark : TBookMark;
<Do something>
BookMark := TableGetBookMark; {对当前记录作书签标志}
TableDisalbeControls; {切断Table与数据察觉部件的联系}
TableFirst
While Not EOF Do {对表中全部记录进行其他处理}
begin
<Do something>
TabelNext;
end;
TabelGotoBookMark(BookMark)
TableenableControls; {重新定位记录指针回到原来的位置}
TabelFreeBookMark(BookMark) {删除书签BookMark标志}
数据集部件与数据浏览部件的连接
数据集部件TTabel和TQuery具有三个方法DisableControls 方法EnableControls方法Refresh方法用于控制数据集部件和与其相连的数据浏览部件之间的连接以及控制数据浏览部件的显示在用户修改和更新以及遍历数据库表中的记录时调用DisableControls方法具有重要意义调用DisbaleControls方法以切断TTable或TQuery部件与数据浏览部件的连接使数据浏览部件暂时失效否则在对TTable或TQuery部件的每次修改之后窗体中所有与它们相连的数据浏览部件都要更新其显示内容这亲显然会减慢处理速度当遍历表中的记录时记录指针每移动一下窗体中的数据浏览部件也随之更新一下其中的显示内容在屏幕上产生闪烁
EnableControls方法的作用与DisbaleControls方法的作用是相反的调用EnableControls方法使TTable或TQuery部件恢复与数据浏览部件的连接使暂时失效的数据浏览部件恢复到正常显示表中记录信息的状态
Refresh方法用于刷新数据浏览部件中的显示在调用Refresh方法时必须要确保TTable或TQuery部件是打开的当数据集中的记录被修改之后调用Refresh方法数据浏览部件中显示的信息也随之改变
返回目录DELPHI基础教程
编辑推荐
Java程序设计培训视频教程
JEE高级框架实战培训视频教程
Visual C++音频/视频技术开发与实战
Oracle索引技术
ORACLEG数据库开发优化指南
Java程序性能优化让你的Java程序更快更稳定
C嵌入式编程设计模式
Android游戏开发实践指南
[] [] [] []