JSTL - 如何将值传递给 SQL 语句
Posted
技术标签:
【中文标题】JSTL - 如何将值传递给 SQL 语句【英文标题】:JSTL - How can I pass values to SQL statement 【发布时间】:2016-03-21 00:32:32 【问题描述】:<sql:setDataSource var="snapshot" driver="org.apache.derby.jdbc.ClientDriver"
url="jdbc:derby://localhost:1527/sample"
user="app" password="app"/>
<sql:update dataSource="$snapshot" var="result">
insert into stock_tbl values ('?','?')
<sql:param value="$symb" />
<sql:param value="$nm" />
</sql:update>
当我在网络浏览器中运行它时,我收到一个错误。
type Exception report
message
descriptionThe server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException:
insert into stock_tbl values ('?','?')
: UNKNOWN MESSAGE, id 07009 :
root cause
java.sql.SQLException: UNKNOWN MESSAGE, id 07009 :
root cause
org.apache.derby.client.am.SqlException: UNKNOWN MESSAGE, id 07009 :
html 文件 HTML File
【问题讨论】:
我承认我在猜测,但我怀疑你需要在?
参数标记周围加上引号。
【参考方案1】:
从insert into stock_tbl values ('?','?')
中删除引号。 2 ?
被解释为值而不是占位符。
这是一个例子 http://www.codejava.net/java-ee/jstl/jstl-sql-tag-param
【讨论】:
以上是关于JSTL - 如何将值传递给 SQL 语句的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 SQL 查询将值传递给具有空间/地理数据类型的存储过程