2013-04-07 105 views
0

我試圖創建一個數據庫在sqlite ..但它沒有得到創建。Sqlite數據庫創建問題

文件資源管理器顯示其中沒有數據庫文件夾。

任何人都可以發現任何錯誤在下面給出代碼

public DatabaseHelper(Context context) { 

    super(context, databasename, null, databaseversion); 
    Log.d("DatabaseHelper", "Reached Database helper"); 
    mContext = context; 
} 

@Override 
public void onCreate(SQLiteDatabase db) { 
    String CREATE_MASTER_TABLE = "CREATE TABLE " + table_reminder_master 
      + "(" + MASTER_ID + " INTEGER PRIMARY KEY ," + MASTER_TITLE 
      + " TEXT," + MASTER_CONTACT_ID + " INTEGER," + MASTER_EMAIL_ID 
      + " INTEGER," + MASTER_TYPE_ID + " INTEGER," + ")"; 
    db.execSQL(CREATE_MASTER_TABLE); 
    Log.d("Table Create", "The table is created"); 
    Toast.makeText(mContext, "Created", Toast.LENGTH_LONG).show(); 

    String CREATE_CONTACT_TABLE = "CREATE TABLE " + table_contactDetails 
      + "(" + CONTACT_ID + " INTEGER PRIMARY KEY ," + CONTACT_NAME 
      + " TEXT," + ")"; 
    db.execSQL(CREATE_CONTACT_TABLE); 
} 

調用類

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    db = new DatabaseHelper(this); // instantiation of database helper 
    initializerMethod(); 
    reminder=new Reminder_Master(); 
    contact=new Contact_Details(); 
    Log.d("Main Acitivity", "Message"); 
    btnSave.setOnClickListener(saveHandler); 
    } 

任何幫助表示讚賞

+0

在文件資源管理器中無法看到數據庫。它僅適用於應用程序。你能插入和閱讀一些東西嗎? – vandzi 2013-04-07 17:38:43

回答

1

你在你的這兩個創建查詢有語法錯誤:

+ " INTEGER," + MASTER_TYPE_ID + " INTEGER," + ")"; 

+ " TEXT," + ")"; 

,之前)不應該存在。

你應該檢查logcat,因爲這樣的錯誤以異常被拋出和記錄結束。

+0

糾正了語法錯誤,但仍...沒有數據庫創建的跡象...是我甚至保持logcat的軌道..它沒有顯示我任何錯誤,也沒有顯示log.d條目放置在DatabaseHelper上的onCreate方法 – 2013-04-07 17:46:23

+0

@AbhijeetSonawane'onCreate'將不會被調用,如果DB文件已經存在。 – 2013-04-07 17:52:15

+0

@CL。我已經嘗試了一些時間通過更改數據庫版本..所以我想在更改數據庫版本後,表必須重新創建 – 2013-04-07 17:57:02

0

僅僅創建DatabaseHelper是不夠的。您必須致電getReadableDatabase()getWriteableDatabase()。一定要在後臺線程上這樣做,因爲您不想在主應用程序線程上執行磁盤I/O。