我的android项目中有一个表有3列,我只想从表中的主要活动中的一列(字符串值)中获取特定值。 我使用此代码,但它返回整个列表,我只想要一个值取决于条件
public List getAlltableList(){
List <AI_TABLE> tableArrayList = new ArrayList <AI_TABLE>();
String selectQuery = "SELECT * FROM " + AI_TABLE;
Log.d (TAG, selectQuery);
SQLiteDatabase db = this.getReadableDatabase();
Cursor c = db.rawQuery (selectQuery, null);
// looping through all rows and adding to list
if(!c.isAfterLast())
c.moveToFirst();
while (!c.isAfterLast()){
AI_TABLE table = new AI_TABLE();
table.ID = c.getInt(c.getColumnIndex(ID));
table.Q = c.getString(c.getColumnIndex(Q));
table.Q_ID = c.getString(c.getColumnIndex(Q_ID));
table.A = c.getString(c.getColumnIndex(A));
// adding to Students list
tableArrayList.add(table);
c.moveToNext();
}
return tableArrayList;
}
答案 0 :(得分:1)
通过添加Where条件来更改字符串查询
String selectQuery = "SELECT some_column FROM " + AI_TABLE + " WHERE some_field = ?" ;
然后在查询数据库时添加一个选择参数
Cursor c = db.rawQuery (selectQuery, new String[] {"SOME_VALUE"} );
这只会将some_column返回到游标,其中some_field等于“SOME_VALUE”
答案 1 :(得分:0)
只需对查询进行投影,只需选择'SELECT column_name from' + AI_TABLE
之类的列,然后从光标中获取索引为0的列