2014-03-12 113 views
-2

我撂荒视频教程约SqlLite。但我觉得自己错过了什么我得到这个例外SQLite的语法错误

E/SQLiteLog(1888):(1)近 “TABLEusers”:语法错误

。我有双重检查查询。可以请你帮

db.execSQL("CREATE TABLE"+DB_TABLE+"(" 
             + KEY_ROWID+"INTEGER PRIMARY KEY AUTOINCREMENT,"+KEY_NAME+"TEXT NOT NULL," 
             +KEY_PASS +"TEXT NOT NULL);"); 

回答

3

您需要的关键字和标识符之间的空间,如TABLEDB_TABLE个列的名字和类型:

db.execSQL("CREATE TABLE "+DB_TABLE+"(" 
             + KEY_ROWID+" INTEGER PRIMARY KEY AUTOINCREMENT,"+KEY_NAME+" TEXT NOT NULL," 
             +KEY_PASS +" TEXT NOT NULL);"); 
1

你错过了空间TABLE关键字和表名

db.execSQL("CREATE TABLE "+DB_TABLE+"(" 
             + KEY_ROWID+" INTEGER PRIMARY KEY AUTOINCREMENT, "+KEY_NAME+" TEXT NOT NULL," 
             +KEY_PASS +" TEXT NOT NULL);"); 
2

你需要在你column namecolumn type之间添加空间CREATE TABLE查询之间。请修改您的查询如下:

db.execSQL("CREATE TABLE "+DB_TABLE+"(" 
            + KEY_ROWID+" INTEGER PRIMARY KEY AUTOINCREMENT, "+KEY_NAME+" TEXT NOT NULL, " 
            +KEY_PASS +" TEXT NOT NULL);");