TQuery组件的Open方法与ExecSQL的区别

应用程序运行过程中,通过程序调用TQuery组件的Open方法或ExecSQL方法可以执行其SQL属性中的程序。Open方法和ExecSQL方法是不一样的。

Open方法只能用来执行SQL语言的查询语句(Select命令),并返回一个查询结果集

ExecSQL方法用来执行其他常用的SQL语句(如Insert、Update、Delete等命令),不返回结果集

程序设计时如果无法确定TQuery组件中的SQL语句是否会返回一个查询结果,可以采用Try...Except模块设计,在Try部分调用Open方法,在Except部分调用ExecSQL方法,以保证程序的正确运行。

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

原文地址:https://www.cnblogs.com/chenbg2001/p/1556418.html