我正在尝试在JSP&中创建一个订单系统。 MySQL,我希望有人可以帮助我。
我希望能够在订购产品时降低产品的库存水平。 (即购买了9 * 16gb USB闪存盘。在下订单时,SQL查询检索当前级别50并减去订购金额9并使用新级别41更新数据库。)
我已经尝试过这个JSP,但我无法让它工作。
<sql:query var="stockresult" scope="request" dataSource="jdbc/project">
SELECT *
FROM stocklevels
WHERE productID = $param.productID
</sql:query>
$newstocklevel = stockresult - $orderqty;
<sql:update var="newstock" scope="request" dataSource="jdbc/project">
UPDATE stocklevels
SET stock=$newstocklevel
WHERE productID = $param.productID
</sql:update>
有人可以帮忙吗?
由于
答案 0 :(得分:1)
这可以为您提供解决方案,但强烈建议您不要在SQL语句中直接插入请求参数。
<sql:query var="stockresult" scope="request" dataSource="jdbc/project">
SELECT stock <!-- select the current stock -->
FROM stocklevels
WHERE productID = $param.productID
</sql:query>
<!-- calculate the new value from the first row of the query result -->
<c:set var"newstocklevel" value="${stockresult.rows[0].stock - orderqty}"/>
<sql:update var="newstock" scope="request" dataSource="jdbc/project">
UPDATE stocklevels
SET stock=$newstocklevel
WHERE productID = $param.productID
</sql:query>