错误:Sqlite数据库OnCreate

时间:2013-10-09 08:31:39

标签: android sqlite

当我在android中使用Sqlite数据库时

使用以下代码:

public class DBHelper extends SQLiteOpenHelper{

    public String test="";

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

    @Override
    public void onCreate(SQLiteDatabase db) {
        test="here11";
        // Category table create query
        String CREATE_CATEGORIES_TABLE = "CREATE TABLE " + TABLE_LABELS + " ( "+ KEY_Phone + " TEXT PRIMARY KEY, " + KEY_NAME + " TEXT, " + KEY_email + " TEXT, " + KEY_Pass + " TEXT, " + KEY_MomNum + " TEXT )";
        db.execSQL(CREATE_CATEGORIES_TABLE);
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
         // Drop older table if existed
        db.execSQL("DROP TABLE IF EXISTS " + TABLE_LABELS);
        // Create tables again
        onCreate(db);
    }
} 

我输入一个测试字符串来检查是否输入onCreate函数

在主要班级:

DBHelper db = new DBHelper(getApplicationContext());
Toast.makeText(getApplicationContext(), db.test, Toast.LENGTH_LONG).show();

但我显示空吐司为什么?

谢谢。

2 个答案:

答案 0 :(得分:0)

数据库创建一次,因此如果您第二次运行,它将不会再次运行onCreate方法,因为数据库已存在。 您需要做的是增加数据库版本。这将调用onUpgrade,然后再次调用onCreate,它将再次创建数据库。

答案 1 :(得分:0)

您应该删除应用程序缓存并再次测试。