这是我的代码:
String CREATE_DATABASE = "CREATE TABLE " + TABLE_NAME + "(" +
KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
"title TEXT, "+
"author TEXT, "+
"state TEXT);";
db.execSQL(CREATE_DATABASE);
LogCat说:12-11 23:43:50.553:E/AndroidRuntime(3706):android.database.sqlite.sqliteException:“create ;table”附近:语法错误(代码1):,编译时:create ;table PapersTable(_id integer ;primary ;key ;autoincrement,title TEXT,author TEXT,state TEXT);
发布的create table
语法是正确的。
我怀疑在create
和table
之间有一个不中断的空格(ASCII 0xA0)。将其替换为常规空格(ASCII 0x20)。这就解释了您发布的语法错误:parser将create table
视为一个未知标记,而不是两个单独的已知标记create
和table
。
绝对错误的是,您对作为参数传入函数的SQLiteDatabase DB
调用db.close()
。您应该只关闭您自己打开的数据库,这样关闭它将导致一个异常,尽管是一个不同的异常。
我有一个方法,如果检查两个文本字段存在,然后重新调整记录ID。我方法是这样的: 我的桌子是这样的: 现在,当我运行该方法时,就像getQueryMatch(Mystr1,Mystr2); 我有一个错误: 我的select查询看起来很正常,但我不知道问题出在哪里?
我的SQL语句语法有问题,LogCat说问题就在哪里。我哪里错了? 下面是我的代码: 任何帮助或建议都将欣然接受,这是我的项目的最后一块拼图。当我做完这件事我就可以Rest了。提前道谢。
首先,有类似的问题,比如1,2,3,4,5,但没有提到解决这个问题的答案。 LogCat错误 09-02 05:27:31.213: E/SQLiteDatabase(8442):错误插入日=2个月=9值=3.0年=2015 09-02 05:27:31.213: E/SQLiteDatabase(8442):android.database.sqlite.SQLiteExc0019:近空:语法错
问题内容: 我在堆栈中搜索,但没有一个达到最终答案。我的查询是这样的: 运行时,我收到语法分析错误: 我不知道该如何解决,问题出在哪里? 问题答案: 您需要稍微更改语法,请尝试以下操作:
问题内容: 我有一个小查询,并在其旁边放了一个联合查询。但是,联合中存在语法错误。 这是我收到的错误 问题答案: 我知道出了什么问题。您必须在查询的末尾且仅在末尾下订单。它给了我一个错误,因为它认为查询已结束。 做到了。
我只是想创建一个包含一列的表,并向其中添加一些值,但我得到了两个错误。一种是取消对db.close()的注释;句柄关闭太快,另一个是下面是代码。