myeclipse向Mysql更新和删除数据问题

yonghua2007 2009-04-22 10:37:58
我想更新数据库中的数据和删除指定要求的数据,我的jsp代码如下:运行后老是打印“数据库操作失败”和姓名和密码,请问我的代码有何问题,小弟先感谢了
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@page import="java.sql.*" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>更新和删改数据库中的数据</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

</head>

<body><font size=2>
<table width="80%" border="1" height="156" cellpadding="0" cellspacing="0" >
<tr>
<td width="50%">姓名</td>
<td width="50%">密码</td>
</tr>
<%
Connection conn=null;
Statement stmt=null;
String sql=null;
ResultSet rs=null;
int ret;
try{
Class.forName("com.mysql.jdbc.Driver");
String strCon="jdbc:mysql//localhost:3306/test";
conn=DriverManager.getConnection(strCon,"root","root");
stmt=conn.createStatement();
sql="update user set password='peisheng' where username='ps'";
ret=stmt.executeUpdate(sql);
// out.println("Hello world!!");
sql="delete from user where username='errr'";
ret=stmt.executeUpdate(sql);
sql="select * from user";
rs=stmt.executeQuery(sql);
while(rs.next())
{
String name=(String)rs.getString("username");
String pass=(String)rs.getString("password");
out.println("<tr>");
out.println("<td>"+name+"</td>");
out.println("<td>"+pass+"</td>");
out.println("</tr>");
}
out.println("Hello world");
rs.close();
stmt.close();
conn.close();
}catch(ClassNotFoundException e)
{
e.printStackTrace();
out.println("<h1>无法找到驱动!!</h1>");
}
catch(SQLException ex)
{
ex.printStackTrace();
out.println("数据库操作失败!");
}
%>
</table></font>
</body>
</html>
...全文
215 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mkk113 2009-04-24
  • 打赏
  • 举报
回复
我是来学习的~

SQL语句有问题!!!
yonghua2007 2009-04-23
  • 打赏
  • 举报
回复
大虾,回答一下,我很急啊。
sirtener 2009-04-23
  • 打赏
  • 举报
回复
你可以把UPDATE的结果打印出来看看,看看UPDATE的结果是什么(1成功,0失败,或者抛出异常).我的建议是你先一个一个的调试出来,先确定你的UPDATE语句能够正常执行并返回正确的结果,再将其他的执行综合在一起......
qq306850549 2009-04-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 qq306850549 的回复:]
Class.forname错了
要不就是你下面那个连接数据库那错了


建议你导入包,....那样简单点
[/Quote]
还有你的SQL语句有很大的问题...
你应该用占位符
update user set password=? where username=?;
下面在进行赋痔
PreparedStatement st=null;
st.setString(1,"name");1表示第一个问号
st.setString(2,"passwrod");2表示第二个问号
这种写发..是很简单的一种..容易理解..
qq306850549 2009-04-23
  • 打赏
  • 举报
回复
Class.forname错了
要不就是你下面那个连接数据库那错了


建议你导入包,....那样简单点
luffyke 2009-04-23
  • 打赏
  • 举报
回复
ret=stmt.executeUpdate(sql);

ret=stmt.executeUpdate(sql);

executeUpdate 这个方法是不返回结果集的

返回的是int 型 ,语句的影响行数

58,452

社区成员

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

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