使用jsp从sql数据库中删除值

时间:2012-09-11 22:13:52

标签: sql jsp java-ee jdbc glassfish

我正在尝试使用jsp渲染一个简单的数据库,并能够使用按钮删除一行。我遇到了无法从行中获取主键的麻烦,因为我一直在使用迭代表。我试过传递简单的数字来表示主键(整数),但它没有抓住它。

假设我想删除主键为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。我看到大多数时候人们使用&lt;%Java code%&gt;但是在netbean教程中,它使用了和函数。有人可以向我解释一下吗?我也使用glassfish作为localhost sql server。 Netbean生成一个glassfish xml,但我也看到人们使用DriverManager.getConnection方法。哪一个传统上更好?

1 个答案:

答案 0 :(得分:0)

我会尝试将UI / JSP代码与DAO层分开,使用单独的Bean来处理所有insert / uodate / delete操作。

看一下Applicationserver的日志文件,这可能会给你一些提示。

Kr,R

编辑:关于sql:

<sql:update var="counselorDelete" dataSource="jdbc/IFPWAFCAD" 
      sql="DELETE FROM Counselor WHERE counselor_id = ?" >
      <sql:param value="${param.numId}"/>
</sql:update>