在我的活动中,我需要调用查询不同的数据库,具体取决于用户选择的数据库。我不想单独调用每一个,而是希望有一个查询代码,只需从字符串值更改数据库的intent或类。基本上我需要将我的数据库名称引用从我的类“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);
答案 0 :(得分:0)
如果你想访问各种具有相同模式的数据库(从你的代码看起来就是这样),那么它应该非常简单。