笔记:delphi 与 Query

以下不保存证正确

Query用SQL语言执行过的,没有必要Cancel、Post,因为其会对数据库直接操作;
执行Update、Insert、Delete请用SQL语句;

用Table使用对当前记录直接操作,也许会有用,Cance、Post会起作用;
执行Update、Insert、Delete,可对当前记录直接操作;

Cancel、Post前请检查Modified


以前两种在Update、Insert、Delete前,先检查CanModify.且对于
 Table:Table.ReadOnly,   控件的ReadOnly
 Query:Query.Requestlive,  控件的ReadOnly

dsInactive
dsBrowse
dsEdit
dsInsert

delete、open、post、cancel 詷用后回来dsBrowse

在进行上述操作前一定要Close,如下:
Query1.Close;

Query1.SQL.Clear;
Query1.SQL.Add('Delete from Country where Name = ''Argentina''');
Query1.ExecSQL;

使用Query有两种方式
1、等待
//dbgStudentInfo.ReadOnly := False;
//DMStudent.qryStudent.RequestLive := True;

并且进入相应的状态或者检查相应的状态

2、 直接Close
 然后执行相应的功能。
 最后通过Open刷新
 
总结
1.1 table
(1)DBGrid的ReadOnly的设置为False;
(2)Table.ReadOnly
(3)检查CanModify
(4)调用相应的函数进入相应的模式进行修改
1.2 Post、Cancel前先检查Modified
1.3 刷新用Open

2.1 Query
(1)DBGrid的ReadOnly的设置为False;
(2)Table.ReadOnly
(3)检查CanModify
2.2 Post、Cancel不起任何作用。(前先检查Modified)
2.3 刷新用Open
(1)Close;
(2)SQL.Clear
(3)SQL.Add
(4)Open
2.4 修改
(1)一般要强制刷新可先调用Close;
(2)SQL.Clear
(3)SQL.Add
(4)ExecSQL;
(5)这里的操作是直接对数据库操作。

调用相应的函数进入相应的模式
---------------------
作者:五夜一夕
来源:CSDN
原文:https://blog.csdn.net/wuyeyixi/article/details/7472689
版权声明:本文为博主原创文章,转载请附上博文链接!

原文地址:https://www.cnblogs.com/jijm123/p/10359338.html