如何在Sqlite DB中添加新表

时间:2011-12-23 07:03:47

标签: android sqlite

我在sqlite中创建了一个DB,并在此DB中创建了一个表。现在我想在此表中再添加一个表。 但我不明白为什么这个新表不在DB中。

请建议。

4 个答案:

答案 0 :(得分:3)

我想这听起来像是一个更新问题。如果更改表列或创建新表,则需要更新数据库。

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

希望这会有所帮助

答案 1 :(得分:1)

如果你想创建一个不存在的新表,那么使用它。让你想在点击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);
        }
    });

答案 2 :(得分:1)

将新表添加到数据库...

第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");  

 }  
}

答案 3 :(得分: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);";