• 笔记: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
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    事件的解除与绑定
    JavaScript 继承
    left 和 margin-left
    表格 DOM 操作
    基于继承的拖拽
    碰撞运动
    弹性运动
    完美运动框架
    JS 操作 Cookie
    DIV拖拽
  • 原文地址:https://www.cnblogs.com/jijm123/p/10359338.html
Copyright © 2020-2023  润新知