2011-12-23 64 views
1

我已經在sqlite中創建了一個數據庫,並在此數據庫中創建了一個表格。現在我想在此表中添加一個表。 但我不明白爲什麼這個新表不在數據庫中。如何在Sqlite數據庫中添加新表格

請建議。

+0

請添加您用來創建表的語句和異常(如果有的話)。 – stacker

+1

你現在在你的Sqlite中有任何表,你只需要添加新表... !! – 2011-12-23 07:27:54

+0

你能否像MIKE說的那樣清楚一點。我正在回答我所理解的事情 – Sameer

回答

0

看看這兩項新的鏈接表。示例代碼是在第二個:

http://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html

http://code.google.com/p/android-notes/source/browse/trunk/src/com/bitsetters/android/notes/DBHelper.java?r=10

您應該使用一個輔助類來訪問數據庫和這些鏈接會有所幫助。如果你從一開始就正確地做到了這一點,那麼在以後的升級過程中它會爲你節省很多麻煩。希望能幫助到你。

此外,在第二個鏈接DBHelper.java中,您可以在文件的開頭看到創建字符串,以防您不知道要查找什麼。

private static final String DBVERSION_CREATE = 
    "create table " + TABLE_DBVERSION + " (" 
    + "version integer not null);"; 
private static final String NOTES_CREATE = 
    "create table " + TABLE_NOTES + " (" 
    + "id integer primary key autoincrement, " 
    + "note text, " 
    + "lastedit text);"; 
3

我想這聽起來像是一個更新問題。如果您更改表格列或創建新表格,則需要更新數據庫。

SQLiteDatabase YourDatabaseName; 
YourDatabaseName = getData.getWritableDatabase(); 
getData.onUpgrade(YourDatabaseName, 1, 2); 

希望這有助於

1

如果你想創建不存在,則使用this.Let你想創建表時BTN點擊

 Button btn=new Button(this); 
    btn.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      SQLiteDatabase db; 
      db = databaseclassObject.getWritableDatabase(); 
      String str="create table tablename(Col1 text not null,col2 text not null);"; 
      db.execSQL(str); 
     } 
    }); 
0

到新表添加到數據庫中......

第1步:增加數據庫版本

第2步:創建方法onUpgrade一個新表:

@Override 

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 

    if (newVersion > oldVersion) { 
     db.execSQL("CREATE TABLE NEW_TABLE COLUMN1 TEXT," + 
      "COLUMN2 TEXT," + 
      "COLUMN3 TEXT"); 

} 
} 
相關問題