Vinnaren i pepparkakshustävlingen!
2009-03-27, 09:12
  #1
Medlem
cosinuss avatar
Hej,
Jag skriver en liten databas i SQLite för att ha till en Android applikation (språket är Java, ungefär). Jag är totalt ny på databaser, men har fått rätt på allt utom en sak, nämligen att uppdatera en bestämd rad i min tabell (MY_TABLE nedan). Jag vill använda funktionen "update" i vilken man ska kunna ange vilken/vilka rader man vill ha med en "WHERE clause" enligt sidan nedan:

http://sqlite.org/lang_update.html

Denna WHERE clause ska vara på formatet String[]
Hade det räckt med en String hade jag skrivit:
KEY_ROWID + "=" rowid
men nu har jag ingen aning om hur jag ska formulera den..


Ungefär såhär ser koden (hittils) ut:

private SQLiteDatabase db;
...
int myAnswer = 3; //(Läses egentligen in till funktionen)
ContentValues addingValue = new ContentValues();
addingValue.put(KEY_COL5, myAnswer);
db.update(MY_TABLE, addingValue, KEY_COL5, **Vad ska stå här??** );

Tack på förhand!
Hälsningar,
Cosinus
Citera
2009-03-27, 10:23
  #2
Medlem
cosinuss avatar
Kom på svaret, men har en till fråga..

Hej igen,
Man kan ange en WHERE clause på formatet String i argumentet innan det sista, dvs då blir det såhär:

db.update(MY_TABLE, addingValue, KEY_ROWID + "=" + rowid, null);

I det sista argumentet kan man ange en WHERE clause på formatet String[], något som jag alltså fortfarande inte vet hur man gör och det verkar fungera att ange null.

Nu har jag en fråga till:
Hur kollar man hur många rader en tabell har?
Jag vill göra detta inifrån klassen som beskriver min "databas adapter", dvs där som databas och tabeller skapas och där funktioner definieras för att göra det möjligt att jobba med tabellerna från andra klasser.

Vänliga hälsningar,
cosinus
Citera
2009-04-03, 11:15
  #3
Medlem
cosinuss avatar
Länk till annat forum

Utifall någon annan har samma fråga kan man se frågan besvarad på detta Android Developer forum:

http://groups.google.com/group/andro...8fa8258d?hl=en

Vänliga hälsningar
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback