为什么我删除不了数据库里面的数据,提示删除成功了,但是实际上没有删除,下面是我的代码,求大神指教
<%@pagecontentType="text/html;charset=utf-8"language="java"import="java.sql.*"errorPa...
<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
<jsp:useBean id="myConAccessDB" class="JavaBeans.ConAccessDB" scope="page"></jsp:useBean>
<%
//定义当前用户变量
String user="";
try{
user=session.getAttribute("user").toString();
}
catch( Exception e)
{
response.sendRedirect("index.jsp");
}
request.setCharacterEncoding("utf-8");
String input1="";
input1=request.getParameter("hidden1");
String dbpath="";
dbpath=request.getSession().getServletContext().getRealPath("");
dbpath=dbpath.substring(0,dbpath.length()-35);
dbpath=dbpath+"NewSystem\\WebRoot\\Data\\bmDB.mdb";
//step2_3:打开数据库
myConAccessDB.openDB(dbpath);
//step4:设置查询字符串
//step5:创建用来存放查询结果的记录集
String sqlStr="";
sqlStr="select * from news where news_ID='"+input1+"'" ;
//step5:创建用来存放查询结果的记录集
ResultSet rs=null;
rs=myConAccessDB.executeQuery(sqlStr);
//step6:判断是否有查询结果
int count=0;
while(rs.next())
{
count=count+1;
}
rs.close();
if(count>0)
{
sqlStr= "Delete from news where news_ID='"+input1+"'";
myConAccessDB.executeUpdate(sqlStr);
out.println("<script>alert('删除成功!'); window.history.back(-1);</script>");
}
else
{
out.println("<script>alert('抱歉!删除不成功!'); window.history.back(-1);</script>");
}
%>
</body>
</html> 展开
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
<jsp:useBean id="myConAccessDB" class="JavaBeans.ConAccessDB" scope="page"></jsp:useBean>
<%
//定义当前用户变量
String user="";
try{
user=session.getAttribute("user").toString();
}
catch( Exception e)
{
response.sendRedirect("index.jsp");
}
request.setCharacterEncoding("utf-8");
String input1="";
input1=request.getParameter("hidden1");
String dbpath="";
dbpath=request.getSession().getServletContext().getRealPath("");
dbpath=dbpath.substring(0,dbpath.length()-35);
dbpath=dbpath+"NewSystem\\WebRoot\\Data\\bmDB.mdb";
//step2_3:打开数据库
myConAccessDB.openDB(dbpath);
//step4:设置查询字符串
//step5:创建用来存放查询结果的记录集
String sqlStr="";
sqlStr="select * from news where news_ID='"+input1+"'" ;
//step5:创建用来存放查询结果的记录集
ResultSet rs=null;
rs=myConAccessDB.executeQuery(sqlStr);
//step6:判断是否有查询结果
int count=0;
while(rs.next())
{
count=count+1;
}
rs.close();
if(count>0)
{
sqlStr= "Delete from news where news_ID='"+input1+"'";
myConAccessDB.executeUpdate(sqlStr);
out.println("<script>alert('删除成功!'); window.history.back(-1);</script>");
}
else
{
out.println("<script>alert('抱歉!删除不成功!'); window.history.back(-1);</script>");
}
%>
</body>
</html> 展开
3个回答
展开全部
myConAccessDB.executeUpdate(sqlStr); 这一句做个判断 正确执行了 才 out.println("<script>alert('删除成功!');
要不然你都不知道 数据库语句执行对与否
要不然你都不知道 数据库语句执行对与否
更多追问追答
追问
不是用if做判断了吗
追答
你没做 要针对这个才行 还有你的代码有问题啊 executeUpdate 这个的返回值不是ResultSet
update语句返回值要么是1成功 要么是0没有成功
int i=myConAccessDB.executeUpdate(sqlStr);
if(i != 0)
{
out.println("alert('删除成功!'); window.history.back(-1);");
}
展开全部
看一下你的数据库文件有没有修改权限。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是不是开了事务,删除后,没有提交啊?
追问
myConAccessDB.executeUpdate(sqlStr);
这好像是更新数据库语句吧
追答
写下提交。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |