Diskuze: Chyba v databázi
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Tvůrce
Zobrazeno 7 zpráv z 7.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Jestli bude stačit obsluha výpisu tak tady
public String getStringData(){
String data = "";
SQLiteDatabase db = getWritableDatabase();
String query = "SELECT * FROM " + TABLE_WORDS + " WHERE 1";
Cursor c = db.rawQuery(query, null);
c.moveToFirst();
do {
if (c.getString(c.getColumnIndex("cz")) != null) {
if (c.getString(c.getColumnIndex("en")) != null) {
data += c.getString(c.getColumnIndex("cz"));
data += " - ";
data += c.getString(c.getColumnIndex("en"));
data += "\n";
}
}
} while(!c.isAfterLast());
db.close();
return data;
}
potom ještě bych to potřeboval převést do listBoxu, ale když bude fungovat tohle tak to už by poto neměl být takový problém
Proč používáš tohle?
c.getString(c.getColumnIndex("cz"))
Proč ne
c.getString("cz")
Proč je za sql dotazem podmínka where true?
A proč to neudělat jako třeba tady?
https://www.tutorialspoint.com/…ite_java.htm
Nebo nějakou moderní cestou?
Dělám to podle tutoriálu
https://youtu.be/Jcmp09LkU-I?…
c.getString(c.getColumnIndex("cz"))
To je tam podle mě k tomu aby to vzalo ten string, který je na aktuálním řádku ve sloupci cz.
Ta podmínka where true je tam prý taky kvůli něčemu takovýmu aby to bralo všechny sloupce i řádky.
Ta where podmínka je v tomhle případě úplně zbytečná. Občas se používá, když bych chtěl přidávat další podmínky spojený AND, ale to vůbec není tenhle případ. Na jakým řádku ten program padá?
MyDBHandler.getStringData(MyDBHandler.java:61)
at cz.dusanmarsa.entester.AllWords.printDatabase(AllWords.java:24)
at cz.dusanmarsa.entester.AllWords.onCreate(AllWords.java:20)
Error to ukazuje na řádku číslo 61.
60 do {
61 if (c.getString(c.getColumnIndex("cz")) != null) {
62 if (c.getString(c.getColumnIndex("en")) != null) {
63 data += c.getString(c.getColumnIndex("cz"));
64 data += " - ";
65 data += c.getString(c.getColumnIndex("en"));
66 data += "\n";
67 }
68 }
69 } while(!c.isAfterLast());
Zobrazeno 7 zpráv z 7.