我在创建数据库时遇到错误

时间:2012-01-18 06:39:07

标签: android database

我在版本创建我的数据库时遇到以下错误。

01-18 12:08:01.157: ERROR/AndroidRuntime(3079): Caused by: java.lang.IllegalArgumentException: Version must be >= 1, was 0

请帮我解决这个问题。

2 个答案:

答案 0 :(得分:3)

您创建的每个数据库都有一个版本号。这样,如果升级应用程序,则可以跟踪它们(对现有数据的升级执行必要的数据库更改)。版本号必须从1开始。

如果您查看以下代码:

private static class OpenHelper extends SQLiteOpenHelper {

  OpenHelper(Context context) {
     super(context, DATABASE_NAME, null, DATABASE_VERSION);
  }

  @Override
  public void onCreate(SQLiteDatabase db) {
     db.execSQL("CREATE TABLE " + TABLE_NAME + " 
      (id INTEGER PRIMARY KEY, name TEXT)");
  }

  @Override
  public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
     Log.w("Example", "Upgrading database, this will drop tables and recreate.");
     db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
     onCreate(db);
  }

onUpgrade将处理所有必要的数据库升级。有时您会选择销毁(删除)当前数据库并创建一个新数据库。

答案 1 :(得分:-1)

您似乎已将之前的版本设为0,从手机中删除您的应用,重新安装,确保新版本比之前的版本更大。