2015-07-11 66 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; 
} 
相关问题