0

我在这里经历了很多例子,但看起来都很复杂,而且大部分都是针对大数据的。我是 Android 和 SQL 的新手。我想做的只是用一些数据预先填充我的 SQL 数据库。

@Override
public void onCreate(SQLiteDatabase db) {
    db.execSQL("CREATE TABLE restaurants (_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, address TEXT, type TEXT, notes TEXT, feed TEXT, lat REAL, lon REAL);");

    ContentValues cv=new ContentValues();
    cv.put("name", "Hi");
    cv.put("address", "There");
    cv.put("type", "delivery");
    cv.put("notes", "");
    cv.put("feed", "");
    cv.put("lat", "");
    cv.put("lon", "");
    getWritableDatabase().insert("restaurants", "name", cv);
}

没有错误,但不幸的是也没有插入数据。这应该很简单,请帮帮我?

4

2 回答 2

2

使用 db.insert("restaurants", "name", cv);

于 2012-11-15T11:07:02.857 回答
1

您的方法很好,内部SQLiteOpenHelper#onCreate()是放置初始数据的正确位置,因为您可以在其中创建处于您喜欢的状态的数据库。

但是里面onCreatedb.insert("restaurants", "name", cv)直接使用。那时您还没有完成创建您尝试通过的可写数据库getWritableDatabase()。不确定这是否是问题,但可能是。

于 2012-11-15T11:00:20.120 回答