-1
我想創建一個簡單的Android應用程序,它使用SQLiteDatabase(不使用SQLiteOpenHelper)創建數據庫。所以數據庫創建和表創建sql成功執行沒有任何問題/例外。Android + Sqlite:表創建SQL沒有影響
現在的問題是,當我重新打開相同的數據庫,創建的早期表不存在!
我使用下面的代碼檢查表是否存在:
Cursor cursor = db.rawQuery("select DISTINCT tbl_name from sqlite_master where tbl_name = '"+ sqlQueryString +"'", null);
if(cursor!=null) {
if(cursor.getCount() == 0) {
//error handling code here
}
cursor.close();
}
顯然是在if(cursor.getCount() == 0)
狀態結束。
我拉的DB文件,並與PC上的sqlite viewer檢查,早先創建的表根本不存在。
所以我的問題是如何驗證我的創建表查詢已正確創建表?
添加所需的信息:
Create table ExampleTable (ROWID integer primary key autoincrement , FIRSTNAME text , LASTNAME text ) ;
加入了Android的代碼執行上面的查詢:
db.beginTransaction();
db.execSQL(sqlQueryString);
db.endTransaction();
向我們展示CREATE TABLE查詢和執行它的代碼。 –
你必須setTransactionSuccessful(),否則事務將被回滾...(正如beginTransaction文檔中明確指出的那樣) – njzk2