当我执行cursor.getColumnIndex(Database._F_A3)时,这将按预期工作。

但是如果我这样做

String dbColumn = "Database._F_A3";
cursor.getColumnIndex(dbColumn );


它给出了错误。

我相信这是因为getColumnIndex()将括号内的内容作为要在列中搜索的字符串进行管理。

有什么办法可以做我想要的吗?

最爱

最佳答案

String dbColumn = "Database._F_A3";
cursor.getColumnIndex(dbColumn );


上面的调用是完全错误的,因为它会更改您在Database类中声明为静态的名称,

假设您在数据库类中声明为

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 );

10-01 00:27