2015-07-11 27 views
0

我使用android系統中ORMlite庫,我得到這個錯誤隨機,我不知道是什麼,以及如何modrate下一個結果:ORMLite GET無法獲取類錯誤

Caused by: java.lang.IllegalStateException: Could not get next result for class [Ljava.lang.String; 
      at com.j256.ormlite.stmt.SelectIterator.next 

我得到這個錯誤時,我使用這個方法來獲取單個列:

public static List getSingleColumn(String query) { 
     List<String> columnes = null; 
     try { 
      columnes = G.CATEGORY.queryRaw(query, new RawRowMapper<String>() { 
       @Override 
       public String mapRow(String[] columnNames, String[] resultColumns) throws android.database.SQLException { 
        return resultColumns[0]; 
       } 
      }).getResults(); 
     } catch (SQLException e) { 
      e.printStackTrace(); 
     } 
     return columnes; 
    } 

或驗證碼:

List unread_messages = G.DBHELPER.getSingleColumn("SELECT SUM(read_status) FROM messageslist"); 
+0

未來請提供完整例外。由部分引起的通常有關於正在發生的事情的良好信息。 – Gray

+0

@格雷這個錯誤的實際原因是什麼 –

+0

我不確定沒有完整的例外@avezraj。 – Gray

回答

1

嘗試改變方法T o此:

public static String getSingleColumn(String query) { 
    String columnes = null; 
    try { 
     columnes = G.CATEGORY.queryRaw(query, new RawRowMapper<String>() { 
      @Override 
      public String mapRow(String[] columnNames, String[] resultColumns) throws android.database.SQLException { 
       return resultColumns[0]; 
      } 
     }).getFirstResult(); 
    } catch (SQLException e) { 
     e.printStackTrace(); 
    } 
    return columnes; 
} 
相關問題