我正致力于创建Android应用程序。我按下了一个按钮来创建数据库,当我第二次按下同一个按钮打开数据库时出现错误
“失败1(表格列表已存在)”
这是按钮的代码:
public void onClick(View arg0) {
// TODO Auto-generated method stub
try{
SQLiteDatabase ldb = openOrCreateDatabase(dbName, Context.MODE_PRIVATE, null);
ldb.execSQL(TableStructure);
ContentValues cv = new ContentValues();
cv.put("task", text);
cv.put("checkbox", 1);
ldb.insert(tableName, null, cv);
ldb.close();
}catch(Exception e){
Toast.makeText(List.this, "Failed", Toast.LENGTH_LONG).show();
}
Intent in = new Intent(List.this, DsTest2Activity.class);
startActivity(in);
}
答案 0 :(得分:1)
您没有放入整个代码,但我认为TableStructure
是一个带有SQL语句的String
来创建表。由于错误已经告诉你:
table List already exists
这些表已经由先前执行此方法创建。
首先需要检查数据库是否已创建,并且仅在未创建时才执行创建SQL语句。或者正如 user1810737 正确建议的那样,使用CREATE TABLE IF NOT EXISTS
代替普通CREATE TABLE