占位符和参数的区别

Posted

技术标签:

【中文标题】占位符和参数的区别【英文标题】:Difference between Placeholder and parameter 【发布时间】:2020-06-09 20:04:20 【问题描述】:

我正在观看有关 JDBC 的课程,当讲师在 Prepared Statement 中谈到 ?(问号)时,他说:

在执行查询之前,我必须填写占位符参数

他在谈论这样一个查询:

SELECT * FROM Employee where salary > ?

现在,我的主要问题是:

占位符和参数有什么区别?

难道他错了吗? ? 可以是占位符还是参数?

编辑:

我也考虑这两个定义:

argument 是传入的值/变量/引用,parameter 是接收变量

【问题讨论】:

他说错了。他应该说的是“用实际参数填充占位符”。这样就很清楚了。 @user207421 我们不应该说“用参数填充占位符”吗?因为参数应该是接收参数,而参数应该是传入的值。 是否有某种考试题有所不同?我通常会认为 placeholderparameter 是同义词,并且所说的短语只是解释您可能会看到的概念的不同名称。 @MehSar 在编译器构造中,您有形式参数和实际参数。同样在这里。形式参数或占位符是?,实际参数是您设置的值。但你的导师可能对两者的意思是一样的。 @MarmiteBomber 是的,先生。非常感谢, 【参考方案1】:

没有区别,这只是用于相同事物的两个术语。这可能就是使用该短语的原因:介绍这两个术语并表明它们可以互换使用。甚至还有第三种变体,将两者组合在一个术语中:参数占位符

在我看来,? 是一个值的占位符,但同时也是一个查询的参数

【讨论】:

以上是关于占位符和参数的区别的主要内容,如果未能解决你的问题,请参考以下文章

PostgreSQL:在 PQexecPrepared() paramValues 参数中给出的类型与占位符和类型之间的关系

缩小占位符文本后如何使占位符和文本框光标居中?

MyBatis占位符和拼接符总结

Spring实战bean装配的运行时值注入——属性占位符和SpEL

如何使用左侧的占位符和右侧的编辑文本创建 UITextField?

在PowerPoint中 占位符和文本框一样 也是一种可以插入的对象