在訪問數據庫的時候, LogCat應用中出現錯誤:
SQLiteException: no such table: tabella (code1)
不知道原因在那兒啊,請幫忙。
SQLiteOpenHelper代碼:
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String CREATE_DB_SQL = "CREATE TABLE tabella (_id INTEGER PRIMARY KEY AUTOINCREMENT, colonna1 TEXT, colonna2 TEXT, colonna3 TEXT);";
public DatabaseHelper(Context context) {
super(context, "basedati", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_DB_SQL);
ContentValues cv = new ContentValues (3);
cv.put("colonna1", "valore colonna 1");
cv.put("colonna2", "valore colonna 3");
cv.put("colonna3", "valore colonna 3");
db.insert("tabella", "colonna1", cv);
}
@Override
public void onUpgrade(SQLiteDatabase db, int arg1, int arg2) {
db.execSQL("DROP TABLE IF EXISTS tabella");
onCreate(db);
}
}
在activitiy中用來連接數據庫的代碼:
public class MainActivity extends Activity {
private DatabaseHelper db=null;
private Cursor constantsCursor=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
db = new DatabaseHelper(this);
constantsCursor=db.getReadableDatabase().rawQuery("SELECT colonna1 FROM tabella ORDER BY colonna1", null);
}
}
不能只改變Java的CREATE_DB_SQL
,還要更新SQL:
public DatabaseHelper(Context context) {
super(context, "basedati", null, 2); // Change the number to two
}