我正在尝试与我的应用建立数据库连接。它有一个访客的允许和拒绝按钮。每当我尝试调用数据库类的操作时,我的app力就会关闭。例如,当我单击“允许”按钮时,我希望应用程序在数据库中存储访客ID,日期和字符串响应。 以下是mainActivity中对按钮的代码:
//databaseVisitor VisDB = new databaseVisitor (this);
//VisitorDatabase VDB = new VisitorDatabase();
//Defining the actions of the Allow Button
Button.OnClickListener allowListener = new Button.OnClickListener(){
public void onClick(View arg0) {
// TODO Auto-generated method stub
Toast allowToast = Toast.makeText(MainActivity.this, R.string.toastYes, Toast.LENGTH_LONG);
allowToast.show();
//Log.d("Insert Log: ", "Inserting add log..");
//count = VisDB.getVisitorCount();
response = "Access Granted";
//dt = date.getDate();
//VisDB.addVisitor(new VisitorDatabase(count+1, dt, response));
}
};
答案 0 :(得分:2)
最可能是因为你正在关闭光标
cursor.close()
然后对其进行操作
return cursor.getCount()
尝试这样的smthg
int count = cursor.getCount();
cursor.close();
return count;
编辑:
和VisDB一样,
...
databaseVisitor VisDB;
...
public void onCreate(Bundle savedInstanceState) {
...
VisDB = new databaseVisitor (this);
...
}
答案 1 :(得分:1)
在给出getCount()之前关闭了光标。 试试这个:
int count = cursor.getCount();
cursor.close();
return count;
祝你好运!