Fehler beim einfügen einer DB-Row mit autoincrement

  • Antworten:2
  • Bentwortet
Johannes
  • Forum-Beiträge: 49

09.11.2011, 23:36:26 via Website

Hallo,
wie oben schon beschrieben, möchte ich gerne eine Zeile in ner DB anlegen die ein autoincrement element hat.

"rowID INTEGER primary key autoincrement"

so in der doku von SQLite hab ich gelesen man soll einfach nur NULL übergeben anstelle von der ID, dann zählt er automatisch hoch...

da bekomme ich aber dann folgenden fehler: ERROR/Database(27847): Error inserting einheit=stk _id=NULL preis=10.0 anzahl=10 beschreibung=Milch

folgendermaßen hab ich den insert realisiert:

1public long insert(int anzahl, String einheit, String beschreibung, float preis) {
2 ContentValues initialValues = createContentValues(-1, anzahl, einheit, beschreibung, preis);
3
4 return database.insert(MyDBHelper.DATABASE_TABLE_ALL, null, initialValues);
5 }
6
7 private ContentValues createContentValues(int rowID, int anzahl, String einheit, String beschreibung, float preis) {
8 ContentValues values = new ContentValues();
9 if(rowID == -1) values.put(MyDBHelper.KEY_ROWID, "NULL");
10 else values.put(MyDBHelper.KEY_ROWID, rowID); //für den fall dass ich update machen will
11 values.put(MyDBHelper.KEY_ANZAHL, anzahl);
12 values.put(MyDBHelper.KEY_EINHEIT, einheit);
13 values.put(MyDBHelper.KEY_BESCHREIBUNG, beschreibung);
14 values.put(MyDBHelper.KEY_PREIS, preis);
15
16 return values;
17 }

wäre echt genial wenn mir da einer helfen könnte!

Antworten
Ansgar M
  • Forum-Beiträge: 1.544

09.11.2011, 23:46:39 via Website

Hm,
wie wär's mit nichts übergeben, wenn du ne neue RowId willst? :) Ich denke, das klappt..
Lg Ansgar

Antworten
Johannes
  • Forum-Beiträge: 49

10.11.2011, 00:19:04 via Website

gott bin ich blöd... an das hab ich natürlich nicht gedacht!! vielen dank!!

Antworten