下面是代码,应该将信息插入MySQL数据库。它没有例外,但不会向数据库插入信息。
try {
Class.forName("Com.mysql.jdbc.Driver");
Connection connection= DriverManager.getConnection("jdbc:mysql:///mymail","root","toor");
out.print("Connected");
PreparedStatement ps= connection.prepareStatement("insert into mytable(fname,lname,uname,pass,cpass,month,day,year,Gender,mobile,email,country) values (?,?,?,?,?,?,?,?,?,?,?,?)");
ps.setString(1, fname);
ps.setString(2, lname);
ps.setString(3, uname);
ps.setString(4, pass);
ps.setString(5, cpass);
ps.setString(6, month);
ps.setString(7, day);
ps.setString(8, year);
ps.setString(9, Gender);
ps.setString(10, mobile);
ps.setString(11,email);
ps.setString(12, country);
ps.executeUpdate();
} catch (Exception e)
{}
答案 0 :(得分:1)
可能是您的连接未处于自动提交模式,因此您必须调用connection.commit()
。
你必须在离开那个方法之前调用connection.close()
(在一个finally块中),否则你将泄漏打开的连接
我建议你尝试一个框架,用JdbcTemplates为你节省很多像春天这样的麻烦。
答案 1 :(得分:0)
没有完整的代码和表结构,很难说出导致问题的原因。虽然我建议您使用要插入的值检查列的类型。这可能会导致问题。
其次,您为数据库指定的URL看起来很可疑。
最后确保你的类路径中有一个mysql连接器。
如果你已经检查了以上几点,我认为你应该很好。