报空指针错误

ddwcg 2010-01-29 09:11:44
String sql="select count(*) from shoumail";

re=sta.executeQuery(sql);
int ii=Integer.parseInt(re.toString());
System.out.print(ii);

这是操纵数据库时的一段代码 目的是输出 表的行的数目 结果报了个空指针错误
麻烦大家帮我看下错在哪里了
...全文
140 11 打赏 收藏 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Arthur0088 2010-01-30
  • 打赏
  • 举报
回复
这个简单啊!先说一下原理,首先在rs获取后,将rs的指针知道最后一个,然后通过ResultSet的getRow方法即可获得记录数,代码如下:

ResultSet rs = st.executeQuery();
rs.last(); // 将游标指针移到最后
int long = rs.getRow(); // rs.getRow()获取ResultSet长度
rs.beforeFirst(); // 将游标重新移到起点处
JavaNormandy 2010-01-30
  • 打赏
  • 举报
回复
你的rs是一个数据集,不能按你写的那种方法来得到值,你的int ii=Integer.parseInt(re.toString());这句有误,如果是要得到值 ,应该是在re.next()后,来一行一行获取值,你的查询语句查询的记录只有一条,因此要吧这要得到
if(re.next()) {
String str = (String)re.getInt(1);
}
yel_hb 2010-01-29
  • 打赏
  • 举报
回复
executeQuery
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()方法 啊~那你那个类型转换又是在转换什么呢?
ddwcg 2010-01-29
  • 打赏
  • 举报
回复
re.next();
int ii=Integer.parseInt(re.toString());
依旧报空指针错误
我的目的就是想把 数据库表中的行的数目赋给int ii
大家还有没有其他的什么方法可以得到表的行数
yel_hb 2010-01-29
  • 打赏
  • 举报
回复
LZ可以这样试试:

int count = 0;
re = sta.executeQuery(sql);
while(re.next()){ //遍历搜索结果的每一行,游标自动后移直到没有记录,跳出循环
count++;
}
System.out.println(count);
yel_hb 2010-01-29
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zfc953244618 的回复:]
返回的是集合第一行的前一行
在给int ii赋值前加:re.next();
[/Quote]
顶一下这个~
zfc953244618 2010-01-29
  • 打赏
  • 举报
回复
返回的是集合第一行的前一行
在给int ii赋值前加:re.next();
java1109 2010-01-29
  • 打赏
  • 举报
回复
sta也有可能为空
Aniao 2010-01-29
  • 打赏
  • 举报
回复
int ii=Integer.parseInt(re.toString());


这句话明显re为null才会爆空指针

建议你System.out.println(re)看看是不是null
ddwcg 2010-01-29
  • 打赏
  • 举报
回复
数据库连接正常 只是这一句有错误:int ii=Integer.parseInt(re.toString());
去掉这句后 其他的功能还能实现
武津乐 2010-01-29
  • 打赏
  • 举报
回复
先确定一下数据库的驱动搞好了没有,能不能正常的连接数据库。或者试试你的SQL语句在直接操作数据库能不能行,用UI试一下。给的代码太少了,看不出来毛病!

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧