我在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