我试图通过正确地替换Params属性中指定的值来弄清楚TQuery如何创建最终的SQL字符串。
那就是让SQL字符串为SELECT * FROM tablename WHERE username= :Name
我在TQuery的Params选项中给出了:Name as 'abc'
的值。
但最终的SQL字符串形成为SELECT * FROM tablename WHERE username='abc'
。
我只是想知道这是怎么做的。
我尝试逐行调试应用程序以找到执行上述指定作业的函数,但我不能。有人请帮忙。
答案 0 :(得分:0)
数据库客户端(此处为oModel.refresh(true);
)不构成完整的SQL命令。相反,它将参数化命令发送到数据库引擎(服务器),在那里它准备执行,然后客户端只发送参数值。
这就是为什么这种技术具有其性能优势,数据库引擎不需要反复准备相同的命令。因此,您很可能不会在任何数据库客户端组件中找到此类实现。