TADOQuery准备好了

EPr*_*und 5 delphi ado delphi-6

TADOQuery组件具有"准备"属性,手册说当准备好设置为TRUE时,ADO'准备'命令,这意味着什么?

这是手册解释:

在调用Execute方法之前设置Prepared以指定ADO是否准备命令.如果将Prepared设置为True并且命令组件连接到数据存储,则ADO会在执行命令之前准备该命令.如果Prepared设置为False,则ADO不会准备该命令.

它将参数注入SQL Text?

Ken*_*ite 6

以下是Delphi 2007帮助文件中的一些更好的文档:

使用Prepared属性让提供程序在Command对象首次执行之前保存CommandText属性中指定的查询的准备(或编译)版本.这可能会减慢命令的首次执行速度,但是一旦提供程序编译命令,提供程序将使用该命令的编译版本进行任何后续执行,这将提高性能.

如果属性为False,则提供程序将直接执行Command对象,而不创建已编译的版本.

如果提供程序不支持命令准备,则当此属性设置为True时,它可能会返回错误.如果提供程序未返回错误,则它将忽略准备命令的请求并将Prepared属性设置为False.

这基本上表示编译了SQL语句(预解析并标记化和分析).当查询被多次使用时,每次只需替换参数值就可以使用这个编译版本,而不必重新编译所有语句并完成其他工作.

  • 因此,如果命令将执行一次,则最好将其设置为False,更多的情况是将一次...设置为true! (2认同)