Java 创建SQLite数据库时出错:“0”;android.database.sqlite.SQLiteException:near(9598)“;?
我正试图在android中创建一个SQLite数据库,结果出现了这个错误Java 创建SQLite数据库时出错:“0”;android.database.sqlite.SQLiteException:near(9598)“;?,java,android,sqlite,Java,Android,Sqlite,我正试图在android中创建一个SQLite数据库,结果出现了这个错误 "android.database.sqlite.SQLiteException: near(9598)." 在这一行: db.execSQL("CREATE TABLE " + TABLE_CONTACTS + "(" + KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," + KEY_NAME + " TEXT," + KEY_
"android.database.sqlite.SQLiteException: near(9598)."
在这一行:
db.execSQL("CREATE TABLE " + TABLE_CONTACTS + "("
+ KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," + KEY_NAME + " TEXT,"
+ KEY_PH_NO + " TEXT)");
这里出了什么问题?表是否已经存在?而是使用
CREATE TABLE IF NOT EXISTS ...
并添加一个代码>:
... + KEY_PH_NO + " TEXT);");
请尝试保留密钥ID
private static final String KEY_ID = "_id";
希望这能帮助您尝试创建语句(),显示它实际上是正常的,并且由于没有抛出在is中定义的异常,因此我可以在构建语句的过程中思考它,如文档所述:
SQLiteException
SQLite异常,指示SQL分析时出错
或执行
因此,我会尝试将这两个步骤分开,首先在字符串中构建语句(包括输出以确保其外观),然后尝试执行它。不,该表不存在,我添加了您所说的内容,但仍然会出现错误,但near(9598)现在更改为near(12542)!您确定所有变量(KEY\u ID
,KEY\u PH\u NO
,…)都包含有效的列/表名吗?-两次都没有专栏?我知道,这听起来像一个愚蠢的问题,然而,你的陈述基本上没有其他错误。打开了一个可写数据库?我的TABLE_CONTACTS字符串中有空格,用u替换,错误消失了。谢谢好吧,虽然这不是现有表的问题,但您的帖子还是解决了问题,正如承诺的+1。我认为,为该sql命令创建一个单独的字符串并打印该字符串会有所帮助。。也许如果你编辑了这个问题并加上它,会帮助我们更好地解决这个问题:)请发布这个类的全部代码。