2013-10-29 18 views
1

我有一個包含3列[名稱,ID,地址]的表「公司」。但我只想獲取「名稱」列值。我做這樣的ORMLite Android-從單個表中獲取17列中的1列

Dao<Company, String> dao = getDBHelper().getCompanyDao(); 

QueryBuilder<Company, String> queryBuilder = dao.queryBuilder(); 
queryBuilder.orderBy(Company.USERNAME_FIELD_NAME, true); 
**queryBuilder.selectColumns("name");** 
PreparedQuery<Company> preparedQuery = queryBuilder.prepare(); 
CloseableIterator<Company> iterator = dao.iterator(preparedQuery); 
AndroidDatabaseResults results = (AndroidDatabaseResults) iterator.getRawResults(); 
Cursor cursor = results.getRawCursor(); 

但是當我添加「queryBuilder.selectColumns(」名稱「)」應用程序崩潰。請幫助我。因爲我正在使用cursoradapter來填充數據,所以我想要光標。

崩潰日誌的位置:

java.lang.NullPointerException 
    at com.j256.ormlite.stmt.QueryBuilder.appendFieldColumnName(QueryBuilder.java:593) 
    at com.j256.ormlite.stmt.QueryBuilder.appendColumns(QueryBuilder.java:585) 
    at com.j256.ormlite.stmt.QueryBuilder.appendStatementStart(QueryBuilder.java:405) 
    at com.j256.ormlite.stmt.StatementBuilder.appendStatementString(StatementBuilder.java:122) 
    at com.j256.ormlite.stmt.StatementBuilder.buildStatementString(StatementBuilder.java:106) 
    at com.j256.ormlite.stmt.StatementBuilder.prepareStatement(StatementBuilder.java:74) 
    at com.j256.ormlite.stmt.QueryBuilder.prepare(QueryBuilder.java:98) 
+0

您正在使用什麼版本ORMLite的? – Gray

+0

我使用ormlite-core-4.45.jar和ormlite-android-4.45.jar。 – user

回答