我对SQLite很陌生,我有一个语法错误,我无法指出......我觉得我已经尝试了一切......
我的代码:
String favorites = "CREATE TABLE " + AvailoContract.Favorites.TABLE_NAME
+ "(" + AvailoContract.Favorites._ID
+ " INTEGER PRIMARY KEY AUTOINCREMENT ,"
+ AvailoContract.Favorites.ID + " TEXT ,"
+ AvailoContract.Favorites.ROOTUID + " TEXT ,"
+ AvailoContract.Favorites.FILEKEY + " TEXT ,"
+ AvailoContract.Favorites.NAME + " TEXT ,"
+ AvailoContract.Favorites.SUBJECT + " TEXT ,"
+ AvailoContract.Favorites.DESCRIPTION + " TEXT ,"
+ AvailoContract.Favorites.BODY + " TEXT ,"
+ AvailoContract.Favorites.ACCOUNTID + " TEXT ,"
+ AvailoContract.Favorites.DBMODIFIEDTIME + " INTEGER " + ")";
db.execSQL(favorites);
如果我删除INTEGER行,它就可以了。 在整数行的某个地方有些不对劲。 这是合同类中的整数定义:
public final static long DBMODIFIEDTIME = 0;
我得到的错误:
01-25 16:45:11.312 29510-29536/com.appus.app E/AndroidRuntime﹕ FATAL EXCEPTION: Thread-114217
Process: com.appus.app, PID: 29510
android.database.sqlite.SQLiteException: near "0": syntax error (code 1): , while compiling: CREATE TABLE favorites(_id INTEGER PRIMARY KEY AUTOINCREMENT ,id TEXT ,rootUid TEXT ,fileKey TEXT ,name TEXT ,subject TEXT ,description TEXT ,body TEXT ,accountId TEXT ,false TEXT ,0 INTEGER )
感谢所有人提前帮助。
答案 0 :(得分:0)
检查列AvailoContract.Favorites.ACCOUNTID
和AvailoContract.Favorites.DBMODIFIEDTIME
根据您获得的错误,我认为false
和0
可以是列的名称。
答案 1 :(得分:0)
AvailoContract.Favorites.DBMODIFIEDTIME
是一个Long类型常量,你需要它是一个String,它是表列的名称,而不是值。
请注意,您正在创建一个表,而不是在其中插入值。