SQLite - cursor count 0

  • Antworten:8
Jim Jupiter
  • Forum-Beiträge: 36

30.03.2016, 20:57:05 via Website

Hi (smug)

Datenbank wurde mit folgendem String erstellt

image

 Cursor cursor = database.query(Tracks, columns,
            "_id" + " = " + insertID,
            null, null, null, null);

insertID = Long und zb 9

rauskommen soll der eine Datensatz

Mach ich was falsch, der Cursor hat immer Inhalt 0

— geändert am 30.03.2016, 21:03:20

Antworten
SvenDD
  • Forum-Beiträge: 272

31.03.2016, 10:06:43 via Website

Sind Datensätze in der Tabelle vorhanden?

Antworten
Jim Jupiter
  • Forum-Beiträge: 36

31.03.2016, 21:07:00 via Website

Hat ne Weile gedauert, den Emulator anzuschmeißen

Mit sqlite Studio siehts so aus ...

image

image

_id ist primery key aber in der der Liste null ???

— geändert am 31.03.2016, 21:44:54

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

31.03.2016, 22:04:41 via Website

Jupp, hast du den Primary key auf AutoIncrement gestellt?
Wenn nicht müsstest du entweder das tun oder beim Insert den letzen Wert ermitteln und um eins erhöhen.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Jim Jupiter
  • Forum-Beiträge: 36

31.03.2016, 22:32:15 via Website

Dachte der primery key wird automatisch erhöht und autoincrement ist nicht nötig

https://www.sqlite.org/autoinc.html

— geändert am 31.03.2016, 22:32:58

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

31.03.2016, 23:07:17 via App

Alles im Zusammenhang mit AutoIncrement ;)
Das musst du schon aktivieren

Und PrimaryKey heisst nur dass dies der Tabelle schlüssel ist, d.h jeden wert darf es in der Spalte nur einmal geben damit jede Zeile eindeutig Identifizerbar bleibt.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Jim Jupiter
  • Forum-Beiträge: 36

03.04.2016, 16:58:35 via Website

CREATE TABLE TRACKS ( _id INTEGER PRIMERY KEY AUTOINCREMENT, NAME TEXT NOT NULL, LANG INT NOT NULL, ANZAHL INT NOT NULL, CHANGE INT NOT NULL, BILD TEXT NOT NULL );

(thinking)

Fehler aber wo?

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

03.04.2016, 20:44:17 via Website

Wenn du dir das SQL Statement mal mit einem SQL Checker oder einem DataBaseBorwser hättest überprüfen lassen, wäre das herausgekommen:

CREATE TABLE TRACKS ( _id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, NAME TEXT NOT NULL, LANG INT NOT NULL, ANZAHL INT NOT NULL, CHANGE INT NOT NULL, BILD TEXT NOT NULL ); 
  1. PRIMARY KEY: Mit A statt E schreiben :P
  2. NOT NULL wäre bei AI nicht notwendig, der Vollständigkeit halber mach ich das trotzdem rein.

So funktioniert das bei mir

— geändert am 03.04.2016, 20:44:28

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Jim Jupiter
  • Forum-Beiträge: 36

04.04.2016, 08:32:23 via Website

  1. (silly) :'(

ja so einfach kann das sein

Antworten