在我的活动中,我需要调用以根据用户选择的数据库查询不同的数据库。我不想单独调用每个代码,而是希望有一个查询代码,并简单地从字符串值更改数据库的意图或类。基本上我需要将我的数据库名称引用从我的类“EmployeeDatabase”更改为用户当前选择的任何数据库。我需要将选定的字符串 x 设置为 y 类,然后让 y 类能够查询。我正在尽我所能解释,如果令人困惑,对不起。谢谢您的帮助!
不知何故,我需要能够将变量 y 设置为用户选择的任何类,然后能够像这样查询: c=db.query(y.EMP_TABLE4, null,null,null,null,null,null); 它说 EMP_TABLE4 无法解析或不是字段。
我的数据库现在如何仅使用一个数据库选项工作:
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.redlight2);
EmployeeDatabase db=null;
try{
ListContent = (ListView)findViewById(R.id.listView1);
db=new EmployeeDatabase(this);
c=db.query(EmployeeDatabase.EMP_TABLE4, null,
null,null,null,null,null);
mydisplayadapter4 adapter = new mydisplayadapter4(this, c);
ListContent.setAdapter(adapter);
}
catch(Exception e){System.out.println("problem");}
我希望它如何工作:
String x;
Class<?> y;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.redlight2);
String x = "my database class name";
try {
y = Class.forName(x);
} catch (ClassNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// I want to replace everything that says EmployeeDatabase with y
EmployeeDatabase db=null;
try{
ListContent = (ListView)findViewById(R.id.listView1);
db=new EmployeeDatabase(this);
c=db.query(EmployeeDatabase.EMP_TABLE4, null,
null,null,null,null,null);
mydisplayadapter4 adapter = new mydisplayadapter4(this, c);// OWN ADAPTER
ListContent.setAdapter(adapter);