2015-11-14 27 views
2

我使用的是Ebean查詢如何檢查列表<SqlRow>是空

String sql = " some sql query"; 

List<SqlRow> row = Ebean.createSqlQuery(sql).findList(); //Ebean return the row list 

if ((row == null) && row.isEmpty()){ //if row is there is no value then allocate 700  
    avgSteps=700;   
} 
else { 
    for(SqlRow sqlrow : row) {   
    avgSteps = sqlrow.getLong("step"); 
    } 
} 

如果用戶沒有一個條目我DB,那麼它應該返回一個空和值分配給avgSteps = 700但它的不分配值,並且發生NullPoinertException

回答

3

試試這個,

String sql = " some sql query"; 

List<SqlRow> row = Ebean.createSqlQuery(sql).findList(); //Ebean return the row list 

if ((row.size() == 0)){ //if row is there is no value then allocate 700  
    avgSteps=700;   
} 
else { 
    for(SqlRow sqlrow : row) {   
    avgSteps = sqlrow.getLong("step"); 
    } 
} 
1

您需要更改if條件如下:

if ((row == null) || row.isEmpty()) 

你要檢查,如果該行是要麼 null或空,不空而空。

+0

感謝你的答案我已經試過或病症還...但row.isEmpty()沒有開展相應的工作。如果沒有元素,那麼它應該返回true。但事實並非如此。 – SR230