2 qq 30881395 qq_30881395 于 2016.05.11 18:39 提问

用jdbc删除数据库表中数据失败 5C

麻烦下谁能帮我看下哪出了问题 我怀疑是画红圈的那有问题
图片说明
deleteShopping.jsp下面这张
图片说明
数据库表图片说明
最后。。图片说明
我感觉是

9个回答

Royal_lr
Royal_lr   Ds   Rxr 2016.05.11 18:43

打个断点看下为什么失败,是不是book_id没取到

qq_30881395
qq_30881395 pstmt打印出来是“com.mysql.jdbc.ServerPreparedStatement[1] - delete from shopping where book_id=nul”是空的。。。怎么改啊<%=id%>是能取到的啊
一年多之前 回复
Q80470101
Q80470101   2016.05.11 18:48

你打印一下book_id的值,是不是目标数据。另外不要通过返回值判断是否成功。通常情况下,执行了,就认为删除了。

qq_30881395
qq_30881395 pstmt打印出来是“com.mysql.jdbc.ServerPreparedStatement[1] - delete from shopping where book_id=nul”是空的。。。怎么改啊<%=id%>是能取到的啊
一年多之前 回复
CSDNXIAON
CSDNXIAON   2016.05.11 18:52

通过JDBC获取数据库表元数据
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

fk002008
fk002008   2016.05.11 18:55

你这个是get方式传参
你把鼠标放到删除链接上面,页面的左下角会有url的信息。
你先看看你的那个id对不对。
估计是id出入的是错的。和你想传入的id不是同一个

Q80470101
Q80470101   2016.05.11 18:58

再有一个问题,你的删除点击事件,只是一个confirm,也没见往后台发生请求啊?

woaixiapa
woaixiapa   2016.05.11 19:14

pstmt.setString(...)改成pstmt.setInt(..)试试呢?

xiaohu203
xiaohu203   2016.05.11 19:49

int id=rs.getInt("book_id");


pstmt.setString(1,request.getParamter"booke_id");

获取id时的类型为int,向数据库插入book_id时的类型为string,两者冲突。

havedream_one
havedream_one   2016.05.11 20:30

你把pstmt最终的组织的语句打印出来,然后看看是不是可执行的sql语句,或者将打印出来的string粘贴到数据库中执行,看看是否成功

qq_30881395
qq_30881395 <a href="deleteShopping.jsp?bookid=<%=id%>" ?后面多打个空格。。。。。。消了就好了
一年多之前 回复
qq_30881395
qq_30881395 pstmt打印出来是“com.mysql.jdbc.ServerPreparedStatement[1] - delete from shopping where book_id=nul”是空的。。。怎么改啊<%=id%>是能取到的啊
一年多之前 回复
Q80470101
Q80470101   2016.05.12 08:20

对啊,?和book_id之间多了一个空格。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!