此数据库方法仅返回数据库的 KEY_NAME 列中的字符串名称。另外两列是 KEY_ROWID 和 KEY_HITS。
让列像这样返回数组变量更好吗?
String[] columns = new String[] { KEY_NAME };
因为只需要 KEY_NAME 列,或者总是将所有列都像这样放入更好;
String[] columns = new String[] {KEY_ROWID, KEY_NAME, KEY_HITS };
下面显示的数据库方法的完整代码;
public String getName(long l){
String[] columns = new String[] {KEY_ROWID, KEY_NAME, KEY_HITS };
Cursor c = ourDatabase.query(DATABASE_TABLE, columns, KEY_ROWID +"="+ l, null, null, null, null);
if(c!= null){
c.moveToFirst();
String name = c.getString(1);
return name;
}
return null;
}
编辑;
经过一些测试,我发现如果我使用它,我只能返回单个列名“KEY_NAME”;
total = total + c.getInt(c.getColumnIndex(KEY_NAME)); // only need { KEY_NAME };
但是,当我使用以下代码使用数字来获取列位置“c.getInt(2)”时,除非我返回所有三个列名,否则它不起作用
total = total + c.getInt(2); // requires {KEY_ROWID, KEY_NAME, KEY_HITS };