大神帮忙看下我的程序为什么不能更新数据库(java)(mysql)(tomcat)谢谢
Stringid=request.getParameter("modid");Stringname=request.getParameter("modname");Str...
String id = request.getParameter("modid");
String name = request.getParameter("modname");
String price = request.getParameter("modprice");
String number = request.getParameter("modnumber");
out.println("修改成功");
PreparedStatement ps =null;
ResultSet rs = null;
try {
//1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
//2.得到链接
String url="jdbc:mysql://localhost:3306/mylist?user=root&password=123456";
Connection con = DriverManager.getConnection(url);
//3.创建PreparedStatement
ps=con.prepareStatement("update product set productname='name',productprice='price',productnumber='number' where productid='id'");
//ps.setObject(1, id);
//ps.setObject(2, password);
//4.执行操作
//rs=ps.executeQuery();//执行sql语句
ps.executeUpdate();
//5.根据结果做处理
if(rs.next()){
//说明该用户合法
request.getRequestDispatcher("/MainFrame").forward(request, response);
}else{
//该用户不合法
request.setAttribute("err","用户名或者密码错误");
request.getRequestDispatcher("/LoginServlet").forward(request, response);
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
} finally{
//关闭资源
if(rs!=null)
{
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
rs=null;
}
if(ps!=null)
{
try {
ps.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
rs=null;
}
} 展开
String name = request.getParameter("modname");
String price = request.getParameter("modprice");
String number = request.getParameter("modnumber");
out.println("修改成功");
PreparedStatement ps =null;
ResultSet rs = null;
try {
//1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
//2.得到链接
String url="jdbc:mysql://localhost:3306/mylist?user=root&password=123456";
Connection con = DriverManager.getConnection(url);
//3.创建PreparedStatement
ps=con.prepareStatement("update product set productname='name',productprice='price',productnumber='number' where productid='id'");
//ps.setObject(1, id);
//ps.setObject(2, password);
//4.执行操作
//rs=ps.executeQuery();//执行sql语句
ps.executeUpdate();
//5.根据结果做处理
if(rs.next()){
//说明该用户合法
request.getRequestDispatcher("/MainFrame").forward(request, response);
}else{
//该用户不合法
request.setAttribute("err","用户名或者密码错误");
request.getRequestDispatcher("/LoginServlet").forward(request, response);
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
} finally{
//关闭资源
if(rs!=null)
{
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
rs=null;
}
if(ps!=null)
{
try {
ps.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
rs=null;
}
} 展开
3个回答
展开全部
sql语句的问题啊
update product set productname='name',productprice='price',productnumber='number' where productid='id'
改成
update product set productname=?,productprice=?,productnumber=? where productid=?
update product set productname='name',productprice='price',productnumber='number' where productid='id'
改成
update product set productname=?,productprice=?,productnumber=? where productid=?
追问
大神 不行啊 我是想上一个servlet传过来的id name price 和number修改数据库的数据 按照您的改法还是没用啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你第三部的sql语句里面的id是字符串不是变量啊。。
追问
嗯 我改成变量还是不行 麻烦大神给出具体的sql语句 谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
productid的值中有'id'没?
追问
有呢 我是想上一个servlet传过来的id name price 和number修改数据库的数据 希望大神给出详细的sql语句 本人麻瓜一个 呵呵
追答
ps=con.prepareStatement("update product set productname=?,productprice=?,productnumber=? where productid=?")
ps.setObject(1,name );
ps.setObject(2, price);
ps.setObject(3, number);
ps.setObject(4,id );
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询