用servlet+jsp实现登陆注册页面,数据插不进数据库 servletjsp数据库登陆 注册 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 最关键的地方没有贴出来数据插不进数据库,报什么错误了吗?断点下,看看userdao.addUser(user) 跟数据库交互时的数据情况public void registerUser(User user) { userdao.addUser(user);} 最后发现是id的问题,我把id设置成了主键,并且让它自动增加,然后insert into user里面就没有写它就不行,该怎么办啊 public void addUser(User user) { try{ //这里是连接数据库的代码略 //我是下面的出问题了 我没有valuees id ,但是我设置的是自增啊 为什么还要设置啊 String sql ="insert into user values(?,?,?,?) "; pstmt = con.prepareStatement(sql); pstmt.setString(1, user.getUserName()); pstmt.setString(2, user.getUserPwd()); pstmt.setString(3, user.getUserSex()); pstmt.setString(4, user.getEmail()); pstmt.executeUpdate(); } catch(Exception e){ e.printStackTrace(); } } public void addUser(User user) { try{ //这里是连接数据库的代码略 //我是下面的出问题了 我没有valuees id ,但是我设置的是自增啊 为什么还要设置啊 String sql ="insert into user values(?,?,?,?) "; pstmt = con.prepareStatement(sql); pstmt.setString(1, user.getUserName()); pstmt.setString(2, user.getUserPwd()); pstmt.setString(3, user.getUserSex()); pstmt.setString(4, user.getEmail()); pstmt.executeUpdate(); } catch(Exception e){ e.printStackTrace(); } } String sql ="insert into user(username, userpwd, usersex, email) values(?,?,?,?) ";直接默认的不写user后面的列名时,默认是全部插入的,但你后面的values 却缺id列,应该会报错的 果然我猜测的没错,你没有做事务处理。你应先在编译预处理SQL语句前设置为手动提交事务(conn.setAutoCommit(false);)。在执行SQL语句插入数据之后,判断如插入成功则提交事务(conn.commit();),若失败则回滚事务(conn.rollback();)。 果然我猜测的没错,你没有做事务处理。你应先在编译预处理SQL语句前设置为手动提交事务(conn.setAutoCommit(false);)。在执行SQL语句插入数据之后,判断如插入成功则提交事务(conn.commit();),若失败则回滚事务(conn.rollback();)。可是我感觉我进行的就是一条简单的插入语句啊。没有事务啊,可以插一条提交啊 关于重载的问题 SWT Browser获取网页执行js前的源码,跟通过HTTP方式获取的源码一样 关于变量赋值 如何控制线程 高手请教查询问题 Java菜鸟级问题,求助 求select取数据问题(在线等) java通过jdbc使用oracle的一个错误,高手请进 如何运行socket的程序呀? 一个JAVASCRIPT调用APPLET方法的问题!!!(在线等待...) 关于日期的错误,本机跑的是正常,拉到服务器就会报异常? 微信主动推送图为信息给用户
数据插不进数据库,报什么错误了吗?
断点下,看看userdao.addUser(user) 跟数据库交互时的数据情况
public void registerUser(User user) {
userdao.addUser(user);
}
{
try{
//这里是连接数据库的代码略
//我是下面的出问题了 我没有valuees id ,但是我设置的是自增啊 为什么还要设置啊
String sql ="insert into user values(?,?,?,?) ";
pstmt = con.prepareStatement(sql);
pstmt.setString(1, user.getUserName());
pstmt.setString(2, user.getUserPwd());
pstmt.setString(3, user.getUserSex());
pstmt.setString(4, user.getEmail());
pstmt.executeUpdate();
}
catch(Exception e){
e.printStackTrace();
}
}
{
try{
//这里是连接数据库的代码略
//我是下面的出问题了 我没有valuees id ,但是我设置的是自增啊 为什么还要设置啊
String sql ="insert into user values(?,?,?,?) ";
pstmt = con.prepareStatement(sql);
pstmt.setString(1, user.getUserName());
pstmt.setString(2, user.getUserPwd());
pstmt.setString(3, user.getUserSex());
pstmt.setString(4, user.getEmail());
pstmt.executeUpdate();
}
catch(Exception e){
e.printStackTrace();
}
}
直接默认的不写user后面的列名时,默认是全部插入的,但你后面的values 却缺id列,应该会报错的