1

Android アプリの挿入ステートメントに少し問題があります。

コードは次のとおりです。

public void addNote(Note noteItem, int modulNummer){
        SQLiteDatabase db = getWritableDatabase();
        ContentValues cv = new ContentValues();
        cv.put(COLUMN_NOTE, noteItem.getNote());
        cv.put(COLUMN_NOTEBESCHREIBUNG, noteItem.getBeschreibung());
        cv.put(COLUMN_MODULID_FK, modulNummer);
        db.insert(NOTETABLE, null, cv);
    }

今私の問題。私のテーブルの最初の列は、自動インクリメント pk です。したがって、最初の列をスキップして、2 列目に挿入を開始したいと考えています。この最初の列をスキップするにはどうすればよいですか?

アップデート

最初の列の .put は既に削除しました。「COLUMN_NOTE」は 2 番目のコラムです。私のテーブル構造は次のようになります。

id INTEGER AUTO INCREMENT
note double
beschreibung TEXT
modul_id INTEGER

更新 2 理由はわかりませんが、動作するようになりました。助けてくれてありがとう。

4

1 に答える 1

2

次のようなテーブルがあるとします。

private final String TAB_GROUP_ADD = "CREATE TABLE groups (id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT NOT NULL, description TEXT NOT NULL);";

そして、次の挿入コマンドを使用します。

ContentValues values = new ContentValues();
values.put(K_TITLE, title);
values.put(K_DESCRIPTION, description);
db.insert(TAB_GROUP, null, values);

すべてがうまくいくはずです。主キー フィールド「id」は Java によって埋められることはなく、SQLite データベースによって埋められます。

于 2013-06-20T11:55:49.127 に答える