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()は初期データを配置するのに適切な場所です。それは、データベースを希望の状態で作成する場所だからです。

しかし、内部では直接onCreate使用db.insert("restaurants", "name", cv)します。その時点で取得しようとしている書き込み可能なデータベースの作成は完了していませんgetWritableDatabase()。それが問題かどうかはわかりませんが、問題がある可能性があります。

于 2012-11-15T11:00:20.120 に答える