2014-10-30 86 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); 
}