首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

ResultSet查询数据库,怎么判断查询结果为空

2012-01-19 
ResultSet查询数据库,如何判断查询结果为空?Java codeResultSet rs sql.search(sql_SeededRice)// sql_

ResultSet查询数据库,如何判断查询结果为空?

Java code
ResultSet rs = sql.search(sql_SeededRice);  // sql_SeededRice为查询语句                while(rs.next())                {                    for(i = 1; i <= 2;i++)  // 两列                    {                        if(rs.getString(i) != null)                            responseText += rs.getString(i);                        else if(rs.getString(i) == null)  // 当列中值时显示"无查询结果"                            responseText += "无查询结果";                    }                }


问题:当列中有值时,可以把值赋给responseText的
但是,当列中无值时(如图),却不能将"无查询结果"赋给responseText,是不是用rs.getString(i) == null这个判断条件不对呢?
我在jdk里看了下,ResultSet的getString方法返回结果是null的。


[解决办法]
上面的回复错了帖子
你这个帖子有两种情况
第一,直接查询结果就有0条,这是一种
第二,查询结果有至少一条,但是对应的字段可能没有值

如果第一种判断,那么你可以利用
int i=0;
while(rs.next()){ i++}
获得i的值,判断结果如果0条就是i=0
如果第二种,如果是字符串的类型,就通过getString("xx")看看返回值是否为null判断
[解决办法]
我不是版主啊。
[解决办法]
如果是没有记录,也就是说在数据库是no record 这种情况的话,

 while(rs.next())这个语句根本不会走进去。

所以你的responseText 赋值语句根本不会执行。
[解决办法]
探讨
上面的回复错了帖子
你这个帖子有两种情况
第一,直接查询结果就有0条,这是一种
第二,查询结果有至少一条,但是对应的字段可能没有值

如果第一种判断,那么你可以利用
int i=0;
while(rs.next()){ i++}
获得i的值,判断结果如果0条就是i=0
如果第二种,如果是字符串的类型,就通过getString("xx")看看返回值是否为null判断

[解决办法]
探讨
ResultSet rs = sql.search(sql_SeededRice); // sql_SeededRice为查询语句
while(rs.next())
{
for(i = 1; i <= 2;i++) // 两列
{
if(rs.getString(i) != null)
responseText += rs.getString(i);
else if(rs.getString(i) == null) // 当列中值时显示"无查询结果"
responseText += "无查询结果";
}
}

[解决办法]
没值是不会进while循环~

热点排行