java.sql.SQLException: Column Index out of range 2 > 1. 在线等
publicResultSetqueryById(intid){Useru=newUser();conn=this.getConn();Stringsql="select...
public ResultSet queryById(int id) {
User u = new User();
conn = this.getConn();
String sql = "select count(1) from user where id = id";
try {
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
rs.next();
u.setId(rs.getInt(1));
u.setName(rs.getString(2));
System.out.println("id");
} catch (SQLException e) {
System.out.println("数据查询失败!在queryById(!!)!原因:数据语句拼写错误");
e.printStackTrace();
}
return rs;
}
数据库是MySQL,字段、实体,无误,单独拿出ID值无错,但是当取别的值就报错,说列索引超出范围,郁闷中求解!! 展开
User u = new User();
conn = this.getConn();
String sql = "select count(1) from user where id = id";
try {
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
rs.next();
u.setId(rs.getInt(1));
u.setName(rs.getString(2));
System.out.println("id");
} catch (SQLException e) {
System.out.println("数据查询失败!在queryById(!!)!原因:数据语句拼写错误");
e.printStackTrace();
}
return rs;
}
数据库是MySQL,字段、实体,无误,单独拿出ID值无错,但是当取别的值就报错,说列索引超出范围,郁闷中求解!! 展开
3个回答
展开全部
把改成你的数据表的列名就行了
u.setName(rs.getString(2)) 改成u.setName(rs.getString(“列名”));
u.setName(rs.getString(2)) 改成u.setName(rs.getString(“列名”));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select count(1) cou from user where id = id 这个字段加个别名
然后
if(rs.next()){
System.out.println(rs.getInt("cou"));
}
这样试试就知道了,哈哈
然后
if(rs.next()){
System.out.println(rs.getInt("cou"));
}
这样试试就知道了,哈哈
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
classes12.jar已经导入到lomboz testJDBC.java: import java.sql.*; public Oracle 11G的JDBC驱动并不能用于Oracle 10G Release 2的数据库,因此必须使用
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询