2014-10-30 88 views
0

我在sql中有以下语法。rs.getInt(1)不能正常工作

select Count(*) from queue_in_progress where CATEGORY_PK = 100001 AND SERVICE_STATUS = 0 AND SERVICE_CENTER_PK = 100001 AND SERVICE_COUNTER = 100001 ; 

之后,我得到了以下情况。

enter image description here

但在我的java文件,我有个下面的代码。

String sql="select Count(*) from queue_in_progress where CATEGORY_PK = "+ ctgry_pk 
         + "AND SERVICE_STATUS = 0 AND SERVICE_CENTER_PK = "+service_center+ 
         " AND SERVICE_COUNTER = "+service_counter+" ;"; 

       rs = getSeletRS(sql); 
       int cunt = rs.getInt(1); 

这里我有下面的例外。

Exception in thread "main" java.lang.NullPointerException 
    at dbquery.SQLQuery.get_TOKEN_Pk(SQLQuery.java:160) 
    at dbquery.SQLQuery.clickNextButton(SQLQuery.java:131) 
    at dbquery.SQLQuery.main(SQLQuery.java:388) 

我不明白为什么我有这个错误。你可以在这方面帮助我吗?

+4

我猜的方法'getSeletRS(字符串)'你并没有告诉我们返回'null' – 2014-10-30 07:57:07

+0

我知道'ctgry_pk','service_center'和'service_counter'是*可能*数字,可能是在您的代码中生成的,而不是用户输入。但是,如果你习惯于通过字符串连接创建SQL语句,那么**会在某些时候被[Little Bobby Tables](http://xkcd.com/327/)访问。 – 2014-10-30 08:01:29

+0

为什么int cunt = rs.getInt(1);没有int cunt = rs.getInt(0); ?? – 2014-10-30 08:25:45

回答

1

您需要检查您的ResultSet是否为空。

rs = getSeletRS(sql); 
if(rs != null){ 
    int cunt = rs.getInt(1); 
}