我想用jsp來渲染一個簡單的數據庫,並且有能力使用按鈕刪除一行。我遇到了無法從行中獲取主鍵的麻煩,因爲我一直在使用遍歷表。我試過傳遞的只是簡單的數字來表示主鍵(整數),但它沒有抓住它。使用jsp從sql數據庫中刪除值
可以說,我想用12
<form action="deleteResponse.jsp">
<c:set var="numId" value="12"/>
<input type="submit" name="delete" value="Delete"/>
</form>
該主鍵刪除行產生開闢了deleteResponse.jsp它具有以下趕上值的按鈕。
<sql:update var="counselorDelete" dataSource="jdbc/IFPWAFCAD">
DELETE FROM Counselor
WHERE counselor_id = ?<sql:param value="${param.numId}"/>
</sql:update>
它沒有做任何事情,我不確定接下來會發生什麼。如果我在sql查詢中手動輸入值12,它將刪除該行,但如果我嘗試獲取該值,則不會執行此操作。
非常感謝!
也作爲一個側面說明。我很難理解如何正確編寫JSP。我發現大多數人使用<%Java代碼%>,但在netbean教程中,它使用了和函數。有人可以向我解釋嗎?我也使用glassfish作爲本地主機sql服務器。 Netbean生成glassfish xml,但我也看到有人使用DriverManager.getConnection方法。哪一個通常更好?
+我不知道這種方法提供了適當的輸入驗證。像羅伯特'的朋友; DROP TABLES;在值字段中插入其名稱可能會造成一些損害;-) http://xkcd.com/327/ – romedius
分離是幹什麼的?我嘗試了改變,但問題仍然存在。 – infinityLoop
我在另一個例子中發現了這個語法。 http://www.jsptutorial.org/content/jstl_sql 我想也許這張外卡在你寫的方式中沒有被識別。 您確定$ {param.numId}不是空/空嗎?我目前沒有其他想法。 – romedius