美文网首页
Delphi Query控件使用

Delphi Query控件使用

作者: 寄居他乡 | 来源:发表于2019-07-23 16:00 被阅读0次

    Delphi Query控件使用
    一、Query控件的Open方法和ExecSQL方法。这两个方法都可以实现执行SQL语句,如果这条SQL语句将返回一个结果集即select语句等,必须使用Open方法,如果不返回一个结果集即insert语句等,则要使用ExecSQL方法。例如:

        Query1:Tquery
        Query2:Tquery
        Query1.Close;
        Query1.SQL.Clear;
    
        Query1.SQL.Add('select * from  AA');
    
        Query1.Open;
        Query2.Close;
    
        Query2.SQL.Clear;
    
        Query2.SQL.Add('delete  AA');
    
        Query2.ExecSQL;
    
    

    上述的例子中,Query1所执行的SQL语句将返回一个结果集,因此必须用Open方法;而Query2所执行的是一条删除表记录语句,不返回结果集,因此用ExecSQL方法。

    第二点是:如果Query控件用Open方法执行SQL语句,并且所用的SQL语句访问的是一张或几张频繁使用的表,在执行完SQL语句后,一定要调用SQL的FetchAll方法,能大大地减少死锁发生的概率。例如:

        Query1:Tquery
        Query1.Close;
    
        Query1.SQL.Clear;
    
        Query1.SQL.Add('select * from  AA');
    
        Query1.Open;
    
        Query1.FetchAll;
    
    

    在上述的例子中,如果AA是一张被频繁访问的表,在对这个表执行这一条select语句的同时,如果恰好有其他人对这张表执行删除或更新操作,便有可能发生死锁。Query1.FetchAll这条语句实现的功能是释放加在表AA上的锁,这样死锁的发生概率可以大大减少。避免死锁,对我们将来进行大型数据库开发尤为重要。"

    相关文章

      网友评论

          本文标题:Delphi Query控件使用

          本文链接:https://www.haomeiwen.com/subject/ezhalctx.html