Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
插入参数后,如何在SQL中输出参数值?_Sql_Delphi_Parameters_Nexusdb_Elevatedb - Fatal编程技术网

插入参数后,如何在SQL中输出参数值?

插入参数后,如何在SQL中输出参数值?,sql,delphi,parameters,nexusdb,elevatedb,Sql,Delphi,Parameters,Nexusdb,Elevatedb,在设置SQL语句并将其插入SQL组件后,是否可以使用参数值检索该SQL语句 SQL语句: SELECT * FROM SomeTable WHERE SomeColumn = :pSomeValue; 代码: 我希望在打开语句之前能够看到它,但现在尝试此操作时,我得到的是参数名而不是值。查询参数通常在DBMS中被替换,即值通过连接单独发送,而不是作为SQL语句的一部分发送。如果您希望同时查看SQL和值,DB的日志可能会帮助您做到这一点。查询参数通常在DBMS中被替换,即值通过连接单独发送,而不

在设置SQL语句并将其插入SQL组件后,是否可以使用参数值检索该SQL语句

SQL语句:

SELECT * FROM SomeTable
WHERE SomeColumn = :pSomeValue;
代码:


我希望在打开语句之前能够看到它,但现在尝试此操作时,我得到的是参数名而不是值。

查询参数通常在DBMS中被替换,即值通过连接单独发送,而不是作为SQL语句的一部分发送。如果您希望同时查看SQL和值,DB的日志可能会帮助您做到这一点。

查询参数通常在DBMS中被替换,即值通过连接单独发送,而不是作为SQL语句的一部分发送。如果希望同时查看SQL和值,DB的日志可能会对您有所帮助。

您可以做的一件事是复制参数并将其放入选择:

SELECT :pSomeValueDuplicate AS paraminput, * FROM SomeTable
WHERE SomeColumn = :pSomeValue;

Qry.ParamByName('pSomeValue').AsString := aValue;
Qry.ParamByName('pSomeValueDuplicate').Value := Qry.ParamByName('pSomeValue').Value;
然后,您可以检查字段:paraminput以了解您用作输入的内容。 不知何故,我无法让Delphi在一个查询中两次使用相同的参数

SELECT 'SELECT * FROM SomeTable WHERE SomeColumn ='+ :pSomeValueduplicate AS thesqlinput,* FROM SomeTable WHERE SomeColumn = :pSomeValue;
实际上,只需一个参数即可:

SELECT 'SELECT * FROM SomeTable WHERE SomeColumn ='+ SomeColumn AS thesqlinput,* FROM SomeTable WHERE SomeColumn = :pSomeValue;

您可以做的一件事是复制参数并将其放入“选择”:

SELECT :pSomeValueDuplicate AS paraminput, * FROM SomeTable
WHERE SomeColumn = :pSomeValue;

Qry.ParamByName('pSomeValue').AsString := aValue;
Qry.ParamByName('pSomeValueDuplicate').Value := Qry.ParamByName('pSomeValue').Value;
然后,您可以检查字段:paraminput以了解您用作输入的内容。 不知何故,我无法让Delphi在一个查询中两次使用相同的参数

SELECT 'SELECT * FROM SomeTable WHERE SomeColumn ='+ :pSomeValueduplicate AS thesqlinput,* FROM SomeTable WHERE SomeColumn = :pSomeValue;
实际上,只需一个参数即可:

SELECT 'SELECT * FROM SomeTable WHERE SomeColumn ='+ SomeColumn AS thesqlinput,* FROM SomeTable WHERE SomeColumn = :pSomeValue;

+1作为从发票中选择*的示例,其中CustomerID=:ID可以在SQL配置文件中看到这一点,其中CustomerID=@P1',N'@P1 int',12+1作为
select*from Invoice where CustomerID=:ID
的示例,这可以在SQL概要文件
exec sp_executesql N'select*from Invoice where CustomerID=@P1',N'@P1 int',12
中看到,您使用哪个数据库引擎和delphi连接库?您可以选择使用AutoInc字段:嗯,您告诉过您也可以使用,不是吗?事实上,我会使用:D+1作为提示!你使用哪种数据库引擎和delphi连接库?您可以选择使用AutoInc字段:嗯,您告诉过您也可以使用,不是吗?事实上,我会使用:D+1作为提示!