【发布时间】:2012-07-02 07:27:31
【问题描述】:
为什么会出现这个错误。我已经有一个数据库。然后我添加表并在其中插入一个项目。我控制这个步骤,当我插入项目时没有错误。但是当我想阅读我将项目放在我的新表中时,会发生这个错误。它说我没有找到。我在模拟器中控制它,我将 .db 推送到我的桌面并打开它。我在其中看到,是的,没有新表。但它必须是。
当我删除应用程序并重新安装我的应用程序时没有任何问题,表格就在那里。但我不想重新安装我想升级。我可以为此做些什么?
package xxxxx;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DatabaseHelper extends SQLiteOpenHelper {
public static final String DB_NAME="xxx.db";
public static final String TABLE_NAME="already_exist";
public static final String TABLE_NAME2="already_exist2";
public static final String TABLE_NAME3="new_table";
public DatabaseHelper(Context context) {
super(context, DB_NAME, null, 2);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + TABLE_NAME + "(_id INTEGER PRIMARY KEY AUTOINCREMENT, s TEXT)");
db.execSQL("CREATE TABLE " + TABLE_NAME2 + "(_id INTEGER PRIMARY KEY AUTOINCREMENT, a TEXT,v TEXT)");
db.execSQL("CREATE TABLE " + TABLE_NAME3 + "(_id INTEGER PRIMARY KEY AUTOINCREMENT, x TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
}
}
【问题讨论】:
-
贴出logcat和一些代码
-
我编辑我的问题。并且 logcat 说没有这样的表(它说是新表)
-
我将我的数据库版本设置为 2,但没有修复我的错误。
-
如果你在模拟器中运行它。只需通过您的 DDMS 验证该表是否存在..
-
我编辑了我的问题。看我尝试,我将 onupgrade 块写入我的查询,但它不再起作用。