jsp:删除新闻功能遇到的一个问题

polarishb 2006-09-09 06:35:09
jsp:
if(request.getParameter("del")!=null) conn.executeQuery("delete * from news where id=" + request.getParameter("del"));
sql="SELECT * from news order by ID desc";
rs = conn.executeQuery(sql);
.....//这些就是显示的代码了

对应的javabean:
public ResultSet executeQuery(String sql) {
try {
connect = DriverManager.getConnection(sConnStr);
Statement stmt = connect.createStatement();
rs = stmt.executeQuery(sql);
}
catch(SQLException ex) {
System.err.println("dddddddd"+ex.getMessage());
}
return rs;
}

在删除的时候
显示NoResultSet was produced
虽然可以删得掉
但是删除后要刷新或者是删除两次才可以看得见
这是什么错误呢

这个是整个页面的代码
<%@ page contentType="text/html;charset=GBK" %>
<%@ page language="java" import="java.sql.*" %>
<%@ page import="java.lang.Math.*" %>
<jsp:useBean id="conn" scope="page" class="news.conn"/>
<%!
String sql = "";
int id = 1;
ResultSet rs = null;
ResultSet rsTmp = null;
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新闻</title>
<link rel="stylesheet" type="text/css" href="news.css">
<script language="JavaScript">
function NewsWindow(id)
{
window.open('newswind.jsp?id='+id,'infoWin', 'height=400,width=600,scrollbars=yes,resizable=yes');
}
</script>
</head>
<body>
<%
if(request.getParameter("del")!=null) conn.executeQuery("delete * from news where id=" + request.getParameter("del"));
sql="SELECT * from news order by ID desc";
rs = conn.executeQuery(sql);
try{
if(!rs.next())
out.println("<p>还 没 有 任 何 新 闻</p>");
else {
%>
<p><strong>全部新闻</strong><table width=100%>
<%
do {
id = rs.getInt("ID");
%>
<tr><td><a href="javascript:NewsWindow(<%=id%>)"><u>
<%=rs.getString("title")%></u></a>--
<%=rs.getString("author")%>
【<%=rs.getString("times")%>】
</td><td align=right><img src=note.gif><a href=newsedit2.jsp?id=<%=id%>>编辑</a> 
<img src=del.gif><a href=newsedit.jsp?del=<%=id%>>删除</a></td></tr>
<%
}while(rs.next());
}
rs.close();
}catch(Exception e)
{
System.out.println("000"+e.getMessage());
}
%>
<p align=right><a href=newsadd.jsp>添加新闻</a> <a href="default.jsp">查看新闻</a>
...全文
136 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
polarishb 2006-09-09
  • 打赏
  • 举报
回复
不明白你的意思
if(request.getParameter("del")!=null) conn.executeQuery("delete * from news where id=" + request.getParameter("del")); // 这里就是删除提交
sql="SELECT * from news order by ID desc"; //这下面就是查询了
rs = conn.executeQuery(sql);


这不就是删除之后提交,在提交之后再作查询。
yaray 2006-09-09
  • 打赏
  • 举报
回复
那就试试删除之后提交,在提交之后再作查询。
polarishb 2006-09-09
  • 打赏
  • 举报
回复
在我的javabean里面也有executeUpdate
public int executeUpdate(String sql) {
int result = 0;
try {
connect = DriverManager.getConnection(sConnStr);
Statement stmt = connect.createStatement();
result = stmt.executeUpdate(sql);
}
catch(SQLException ex) {
System.err.println("55555555"+ex.getMessage());
}
return result;
}


这样改后还是会出现上诉问题
可以删得掉
但是删除后要刷新或者是删除两次才可以看得见

按照我的代码
明明就是先删除完后再取出数据库里面的内容

是不是在执行完删除后要关闭什么
然后在从数据库里面去读取

yaray 2006-09-09
  • 打赏
  • 举报
回复
conn.executeQuery("delete * from news where id=" + request.getParameter("del"));
修改为:::
conn.executeUpdate("delete * from news where id=" + request.getParameter("del"));

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧