String sql="select count(*) from shoumail";
re=sta.executeQuery(sql);
int ii=Integer.parseInt(re.toString());
System.out.print(ii);
这是操纵数据库时的一段代码 目的是输出 表的行的数目 结果报了个空指针错误
麻烦大家帮我看下错在哪里了
re=sta.executeQuery(sql);
int ii=Integer.parseInt(re.toString());
System.out.print(ii);
这是操纵数据库时的一段代码 目的是输出 表的行的数目 结果报了个空指针错误
麻烦大家帮我看下错在哪里了
去掉这句后 其他的功能还能实现
这句话明显re为null才会爆空指针建议你System.out.println(re)看看是不是null
在给int ii赋值前加:re.next();
re = sta.executeQuery(sql);
while(re.next()){ //遍历搜索结果的每一行,游标自动后移直到没有记录,跳出循环
count++;
}
System.out.println(count);
int ii=Integer.parseInt(re.toString());
依旧报空指针错误
我的目的就是想把 数据库表中的行的数目赋给int ii
大家还有没有其他的什么方法可以得到表的行数
ResultSet executeQuery(String sql)
throws SQLException执行给定的 SQL 语句,该语句返回单个 ResultSet 对象。 参数:
sql - 要发送给数据库的 SQL 语句,通常为静态 SQL SELECT 语句
返回:
包含给定查询所生成数据的 ResultSet 对象;永远不能为 null
抛出:
SQLException - 如果发生数据库访问错误,在已关闭的 Statement 上调用此方法,或者给定 SQL 语句生成单个 ResultSet 对象之外的任何其他内容LZ,这个返回的是ResultSet,也就是说,re是ResultSet对象,你可以看看JDK,关于ResultSet貌似没有toString()方法 啊~那你那个类型转换又是在转换什么呢?
rs.last(); // 将游标指针移到最后
int long = rs.getRow(); // rs.getRow()获取ResultSet长度
rs.beforeFirst(); // 将游标重新移到起点处
if(re.next()) {
String str = (String)re.getInt(1);
}