TADOQuery组件具有“准备”属性--手册指出,当准备为真时,ADO‘准备’逗号,这意味着什么??
以下是手册的解释:
在调用Execute方法之前设置准备,以指定ADO是否准备命令。如果准备就绪设置为True,并且命令组件连接到数据存储区,则ADO在执行命令之前准备命令。如果准备就绪设置为False,则ADO将不准备命令。
它将参数注入到SQL文本中?
发布于 2013-03-14 12:33:13
以下是Delphi 2007帮助文件中的一些更好的文档:
使用准备好的属性让提供程序在命令对象第一次执行之前保存CommandText属性中指定的查询的准备(或编译)版本。这可能会减慢命令的第一次执行,但一旦提供程序编译了命令,提供程序将使用该命令的编译版本进行后续执行,这将提高性能。 如果属性为False,则提供程序将直接执行Command对象,而不创建已编译的版本。 如果提供程序不支持命令准备,则当此属性设置为True时,它可能返回错误。如果提供程序不返回错误,它只会忽略准备命令的请求,并将准备好的属性设置为False。
这基本上意味着SQL语句是编译的(预解析、标记和分析)。当查询不止一次使用时,每次只替换参数值就可以使用此编译版本,而不必重新编译所有语句并执行其他工作。
发布于 2013-03-14 12:32:40
Tt以减少与重复执行多次执行的SQL语句相关的解析和编译开销。
应用程序可以多次执行参数化语句,方法是在每次执行时提供不同的参数集,而不是在参数集不同时重新构造语句。
执行准备好的语句
https://stackoverflow.com/questions/15408957
复制相似问题