我在Android的工作室初學者...我的代碼只對表3列的作品,如果其他字段添加到表,logcat的將返回:SQLite的錯誤沒有這樣的列/語法錯誤近
沒有這樣的欄目:「FONE」
我有改變的代碼創建表的一部分,現在它返回另一個錯誤(我不知道是不是第一個錯誤依然存在):
SQLite的日誌: (1)near「)」:語法錯誤
可以肯定錯誤是在創建表或查詢的...
...我已經尋找答案和字段的名稱不是關鍵字,我試圖糾正逗號等...
我認爲SelectionArguments是解決方案,但我沒有經驗,我不知道究竟是如何把價值觀有...
這很奇怪,因爲我加場到TABLE的方式與其他方式相同,但現在它返回了這些錯誤,apk崩潰。
下面是表:
public void onCreate(SQLiteDatabase db) {
String livro = "CREATE TABLE livros " +
" (" +
" id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL," +
" titulo TEXT NOT NULL," +
" autor TEXT NOT NULL," +
" pagina TEXT NOT NULL," +
" fone INTEGER," +
")" ;
db.execSQL(livro);
查詢的一部分:
String[] columns = {"id", "titulo", "autor", "pagina", "fone"};
Cursor cursor = getWritableDatabase().query("livros", columns, null, null, null, null, null, null);
ArrayList<Livros> livros = new ArrayList<Livros>();
while (cursor.moveToNext()){
Livros livro = new Livros();
livro.setId(cursor.getLong(0));
livro.setTitulo(cursor.getString(1));
livro.setAutor(cursor.getString(2));
livro.setPagina(cursor.getString(3));
livro.setFone((cursor.getInt(4))); ...
除了Maloubobola突出強調的問題,您可能無法理解數據庫創建與升級差異。閱讀此:http://stackoverflow.com/questions/21881992/when-is-sqliteopenhelper-oncreate-onupgrade-run – Kuffs
清除您的應用程序的數據或卸載它,然後再次測試。 – madlymad