2011-12-23 66 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"); 

} 
} 
相关问题