Android游标使用字符串获取列索引
当我执行Android游标使用字符串获取列索引,android,cursor,Android,Cursor,当我执行cursor.getColumnIndex(Database.\u F\u A3)时,这会按预期工作 但如果我这样做 String dbColumn = "Database._F_A3"; cursor.getColumnIndex(dbColumn ); 它给出了错误 我认为这是因为getColumnIndex()将括号内的内容作为字符串进行管理,以便在列中搜索 有什么办法可以满足我的要求吗 法沃拉斯 String dbColumn = "Database._F_A3"; curso
cursor.getColumnIndex(Database.\u F\u A3)
时,这会按预期工作
但如果我这样做
String dbColumn = "Database._F_A3";
cursor.getColumnIndex(dbColumn );
它给出了错误
我认为这是因为getColumnIndex()
将括号内的内容作为字符串进行管理,以便在列中搜索
有什么办法可以满足我的要求吗
法沃拉斯
String dbColumn = "Database._F_A3";
cursor.getColumnIndex(dbColumn );
上面的调用是完全错误的,因为它更改了您在数据库类中声明为静态的名称
假设您在数据库类中声明为
public static String _F_A3 = "something";
现在如果你打电话
String dbColumn = "Database._F_A3";
cursor.getColumnIndex(dbColumn ); // it means you are using Database._F_A3
// as column name which doesn't exist instead of "something"
所以,最好尝试使用
String dbColumn = Database._F_A3; // without quotes
cursor.getColumnIndex(dbColumn );
数据库中的数据库是什么?_F_A3?数据库是我的SQLite数据库,_F_A3是Hanks Lalit的专栏之一。这样做的目的是我有很多列的前缀是_F_A?是第一个?某物有时我想使用
数据库。_F_A3
和其他,例如数据库。_F_A2356
。这样,我将使用数据库执行字符串concat。\u F\u a
加上带有列名称其余部分的字符串更好的方法是使用数据库。\u F\u A3
仅常量。OK。将不得不加入大量的if-else子句