笔记: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)这里的操作是直接对数据库操作。

调用相应的函数进入相应的模式

你可能感兴趣的:(query,delphi,delete,insert,table,数据库)