没有合适的资源?快使用搜索试试~ 我知道了~
Query控件的Open方法和ExecSQL方法
4星 · 超过85%的资源 需积分: 16 10 下载量 175 浏览量
2012-02-27
10:57:21
上传
评论
收藏 26KB DOC 举报
温馨提示
试读
2页
区分好Query控件的Open方法和ExecSQL方法。这两个方法都可以实现执行SQL语句,但要根据不同情况分别使用。
资源详情
资源评论
资源推荐
Delphi 的 Query 控件
第一点是:区分好 Query 控件的 Open 方法和 ExecSQL 方法。这两个方法都可以实现执行
SQL 语句,但要根据不同情况分别使用。如果这条 SQL 语句将返回一个结果集,必须使用
Open 方法,如果不返回一个结果集,则要使用 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 上的锁,这样死锁的发生概率可以
大大减少。避免死锁,对我们将来进行大型数据库 开发尤为重要
大家对 一条 SQL 语句
w290647187
- 粉丝: 0
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1