W pierwszym zapytaniu brakuje nawiasu zamykającego:
CREATE TABLE IF NOT EXISTS MyTab (
Month INT(2),
Date INT(2),
Year INT(4),
Event VARCHAR;
Powinno być:
CREATE TABLE IF NOT EXISTS MyTab (
Month INT(2),
Date INT(2),
Year INT(4),
Event VARCHAR
)
Pamiętaj też, że zapytanie nie musi kończyć się ;
, jak wspomniano w dokumentacji:
Parametry
sql instrukcja SQL do wykonania. Wiele instrukcji rozdzielonych średnikami nie jest obsługiwanych.
Ponadto powinieneś ZAWSZE sprawdź wyjście LogCat, ponieważ powinno to zgłosić SQLiteException
.
Kilka dalszych uwag dotyczących SQLite:
- SQLite nie ma
VARCHAR
-rodzaj. Ma tylkoTEXT
i przekonwertuje na niego dowolny typ tekstowy. - Zauważ, że podanie długości dla typu danych jest również ignorowane przez SQLite:
SQLite nie nakłada żadnych ograniczeń długości (poza dużym globalnym SQLITE_MAX_LENGTH
limit) na długości ciągów, bloków BLOB lub wartości liczbowych.