注册部分的主要代码 关联的mysql数据库 网上搜到的都是参数个数不匹配中文标点之类的,但我的问题不出在这里
String z_user=String.valueOf(jtf_user.getSelectedItem());
String z_pass=String.valueOf(jtf_pass.getPassword());
String sql;
if(z_user.trim().equals("")||z_pass.equals(""))
{
JOptionPane.showMessageDialog(jf,"账号或密码不能为空!!!","提醒",JOptionPane.INFORMATION_MESSAGE);
}else
{
Connection conn=null;
PreparedStatement psta=null;
ResultSet rs=null;
try {
sql="select name from user where name=?";
conn=DriverManager.getConnection(url,user,pass);
psta=conn.prepareStatement(sql);
psta.setString(1,z_user);
rs=psta.executeQuery();
if(rs.next()){
JOptionPane.showMessageDialog(jf, "该用户已注册,请重新输入用户名!!",
"提醒!",JOptionPane.INFORMATION_MESSAGE);
}else{
sql="insert into user(name,pass) values(?,?)"; //错误在这里!!!!!!!
psta.setString(1,z_user);
psta.setString(2,z_pass);
conn=DriverManager.getConnection(url,user,pass);
psta=conn.prepareStatement(sql);
psta.executeUpdate();
JOptionPane.showMessageDialog(jf,"注册成功,请登录!!!");
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
<p><img height="144" src="https://static.oschina.net/uploads/space/2018/0505/215111_6jCW_3240642.png" width="573"></p>
应该是在这里,这个位置的psta是使用的上面一个参数的sql,应该挪到psta=conn.prepareStatement(sql);后面
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。