com.microsoft.sqlserver.jdbc.SQLServerException: 列名 'id' 无效,急,在线等

String id= request.getParameter("id");
String name = request.getParameter("name");
String password = request.getParameter("password");
String sex = request.getParameter("sex");
String email=request.getParameter("email");
String tel=request.getParameter("tel");
Connection conn= getConnection();
PreparedStatement ps= null;
ResultSet rs = null;

String sql1= "SELECT * FROM users WHERE id=?";
ps = conn.prepareStatement(sql1);
ps.setString(1,id);
rs = ps.executeQuery();
if(rs.next()){
out.println("<center><h2>对不起,该名字用户已经存在!<a href='register.jsp'>请重新注册.</a></h2></center>");
}
else{

String sql="INSERT INTO users(id,name,pwd,sex,email,tel) VALUES(?,?,?,?,?,?)";
ps= conn.prepareStatement(sql);
ps.setString(1,id);
ps.setString(2,name);
ps.setString(3,password);
ps.setString(4,sex);
ps.setString(5, email);
ps.setString(6, tel);
ps.executeUpdate();
out.println("<center><h2><a href='index.jsp'>创建成功</a></h2></center>");}

ps.close();
conn.close();
运行时出现了 列名 'id' 无效的错误;但是SELECT * FROM users WHERE id=?这句话在数据库可以运行

数据库中id为int类型,在java代码中你写的id 明显是String类型的,根本匹配不上,java根据你的string类型的id在数据库中匹配,肯定是报找不到id了;或者values里去一个?,把ps.setstring(1,id)也去了,最后再试试
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-11-19
是大小写的关系吗?

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网