2 colin shi Colin_Shi 于 2014.12.13 17:34 提问

JDBC连接MySQL插入数据问题

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql", "root", "123456");
PreparedStatement sqlStmt =null;
String Email=request.getParameter("Email");
String Password=request.getParameter("Password");
String RePassword=request.getParameter("RePassword");
int power=1;
String sql = "INSERT INTO user_type(user_name,password,power) VALUES (?,?,?)";
sqlStmt=conn.prepareStatement(sql);
sqlStmt.setString(1,"Email") ;
sqlStmt.setString(2,"Password") ;
sqlStmt.setInt(3,'1') ;
sqlStmt.executeUpdate(sql);

out.print("alert('插入成功!');window.location.href='contact.html'");

7个回答

Colin_Shi
Colin_Shi   2014.12.13 17:35

sqlStmt.executeUpdate(sql);无法执行成功

ACMAIN_CHM
ACMAIN_CHM 错误提示是什么?
接近 3 年之前 回复
shenlan0322
shenlan0322   2014.12.13 18:06

你把异常抛出来不就知道了!

lxq_xsyu
lxq_xsyu   Rxr 2014.12.13 18:16

是什么出问题了?连接问题还是数据格式问题?

guwei4037
guwei4037   Ds   Rxr 2014.12.13 18:26

sqlStmt=conn.prepareStatement(sql);
sqlStmt.setString(1,"Email") ;
sqlStmt.setString(2,"Password") ;
sqlStmt.setInt(3,'1') ;

改为:
sqlStmt=conn.prepareStatement(sql);
sqlStmt.setString(1,Email) ;
sqlStmt.setString(2,Password) ;
sqlStmt.setInt(3,power) ;

caozhy
caozhy   Ds   Rxr 2014.12.14 01:15

检查你的sql,字段、表名是否正确,password是关键字,写成'password',还有sqlStmt.setInt(3,'1');修改为sqlStmt.setInt(3,1);

chenlycly
chenlycly   Rxr 2014.12.14 10:48

看看java抛出的异常错误信息,能定位出来的

defonds
defonds   Ds   Rxr 2014.12.15 12:48

sqlStmt.setString(1,"Email") ;
sqlStmt.setString(2,"Password") ;
sqlStmt.setInt(3,'1') ;
1. 你这样写是不会把 request 对象里的 Email 等信息持久化的,你持久化的是 "Email" 字符串。
2. setInt 可以直接传 int 类型数据。
3. 异常信息不贴,大家的肉眼又不是编译器,很难给你扫描出来问题症兆所在。

Csdn user default icon
上传中...
上传图片
插入图片