Android SQL lite表插入问题
我已经使用android内容提供商创建了一个名为xxxx的表。我卸载应用程序并运行,然后当我尝试插入数据时,我没有发现列异常。我将在下面发布我的代码Android SQL lite表插入问题,android,sqlite,android-contentprovider,Android,Sqlite,Android Contentprovider,我已经使用android内容提供商创建了一个名为xxxx的表。我卸载应用程序并运行,然后当我尝试插入数据时,我没有发现列异常。我将在下面发布我的代码 public class PMSQLGroupsMessage { public static final Integer version = 1; public static final String TABLE_NAME = "GroupMessage"; public static final Uri CONTENT
public class PMSQLGroupsMessage {
public static final Integer version = 1;
public static final String TABLE_NAME = "GroupMessage";
public static final Uri CONTENT_URI = Uri.parse(PMSQLContentProvider.SCHEME
+ PMSQLContentProvider.AUTHORITY + "/" + TABLE_NAME);
public static final String CONTENT_TYPE = "vnd.android.cursor.dir/vnd.hsware."
+ TABLE_NAME;
public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/vnd.hsware."
+ TABLE_NAME;
public static final String COL_ID = "_id";
public static final String COL_GID = "gid";
public static final String COL_PMID = "pmid";
public static final String COL_READ = "read";
public static final String COL_TYPE = "type";
public static final String COL_DATE = "date";
public static final String COL_MESSAGE = "_message";
public static final String TABLE_CREATION = "CREATE TABLE IF NOT EXISTS "
+ TABLE_NAME + " (" + COL_ID
+ " INTEGER PRIMARY KEY AUTOINCREMENT," + COL_GID + " BIGINT,"
+ COL_PMID + " BIGINT," + COL_READ + " INTEGER," + COL_MESSAGE
+ "TEXT," + COL_TYPE + " INTEGER," + COL_DATE + " BIGINT);";
Integer messageId;
Long gid;
Long pmid;
Boolean read;
Integer type;
Date date;
String _message;
public Integer getMessageId() {
return messageId;
}
public void setMessageId(Integer messageId) {
this.messageId = messageId;
}
public Long getGid() {
return gid;
}
public void setGid(Long gid) {
this.gid = gid;
}
public Long getPmid() {
return pmid;
}
public void setPmid(Long pmid) {
this.pmid = pmid;
}
public Boolean getRead() {
return read;
}
public void setRead(Boolean read) {
this.read = read;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public String getMessage() {
return _message;
}
public void setMessage(String message) {
this._message = message;
}
}
例外情况:-
android.database.sqlite.SQLiteException: table GroupMessage has no column named _message (code 1): , while compiling: INSERT INTO GroupMessage(gid,_message,date) VALUES (?,?,?)
代码:
在您的
创建表
中,在列消息
及其类型文本
之间缺少空格
修复后,您可能需要卸载应用程序,以便删除旧的数据库文件。在
创建表中,您的COL_MESSAGE
与其类型TEXT
之间缺少一个空格
修复后,您可能需要卸载应用程序,以便删除旧的数据库文件。在创建表中,您的COL_MESSAGE
与其类型TEXT
之间缺少一个空格
修复后,您可能需要卸载应用程序,以便删除旧的数据库文件。在创建表中,您的COL_MESSAGE
与其类型TEXT
之间缺少一个空格
修复后,您可能需要卸载应用程序,以便删除旧的数据库文件。替换此查询:
public static final String TABLE_CREATION = "CREATE TABLE IF NOT EXISTS "
+ TABLE_NAME + " (" + COL_ID
+ " INTEGER PRIMARY KEY AUTOINCREMENT," + COL_GID + " BIGINT,"
+ COL_PMID + " BIGINT," + COL_READ + " INTEGER," + COL_MESSAGE
+ "TEXT," + COL_TYPE + " INTEGER," + COL_DATE + " BIGINT);";
为此:
public static final String TABLE_CREATION = "CREATE TABLE IF NOT EXISTS "
+ TABLE_NAME + " (" + COL_ID
+ " INTEGER PRIMARY KEY AUTOINCREMENT," + COL_GID + " BIGINT,"
+ COL_PMID + " BIGINT," + COL_READ + " INTEGER," + COL_MESSAGE
+ " TEXT," + COL_TYPE + " INTEGER," + COL_DATE + " BIGINT);";
注意:文本前面缺少空格。替换此查询:
public static final String TABLE_CREATION = "CREATE TABLE IF NOT EXISTS "
+ TABLE_NAME + " (" + COL_ID
+ " INTEGER PRIMARY KEY AUTOINCREMENT," + COL_GID + " BIGINT,"
+ COL_PMID + " BIGINT," + COL_READ + " INTEGER," + COL_MESSAGE
+ "TEXT," + COL_TYPE + " INTEGER," + COL_DATE + " BIGINT);";
为此:
public static final String TABLE_CREATION = "CREATE TABLE IF NOT EXISTS "
+ TABLE_NAME + " (" + COL_ID
+ " INTEGER PRIMARY KEY AUTOINCREMENT," + COL_GID + " BIGINT,"
+ COL_PMID + " BIGINT," + COL_READ + " INTEGER," + COL_MESSAGE
+ " TEXT," + COL_TYPE + " INTEGER," + COL_DATE + " BIGINT);";
注意:文本前面缺少空格。替换此查询:
public static final String TABLE_CREATION = "CREATE TABLE IF NOT EXISTS "
+ TABLE_NAME + " (" + COL_ID
+ " INTEGER PRIMARY KEY AUTOINCREMENT," + COL_GID + " BIGINT,"
+ COL_PMID + " BIGINT," + COL_READ + " INTEGER," + COL_MESSAGE
+ "TEXT," + COL_TYPE + " INTEGER," + COL_DATE + " BIGINT);";
为此:
public static final String TABLE_CREATION = "CREATE TABLE IF NOT EXISTS "
+ TABLE_NAME + " (" + COL_ID
+ " INTEGER PRIMARY KEY AUTOINCREMENT," + COL_GID + " BIGINT,"
+ COL_PMID + " BIGINT," + COL_READ + " INTEGER," + COL_MESSAGE
+ " TEXT," + COL_TYPE + " INTEGER," + COL_DATE + " BIGINT);";
注意:文本前面缺少空格。替换此查询:
public static final String TABLE_CREATION = "CREATE TABLE IF NOT EXISTS "
+ TABLE_NAME + " (" + COL_ID
+ " INTEGER PRIMARY KEY AUTOINCREMENT," + COL_GID + " BIGINT,"
+ COL_PMID + " BIGINT," + COL_READ + " INTEGER," + COL_MESSAGE
+ "TEXT," + COL_TYPE + " INTEGER," + COL_DATE + " BIGINT);";
为此:
public static final String TABLE_CREATION = "CREATE TABLE IF NOT EXISTS "
+ TABLE_NAME + " (" + COL_ID
+ " INTEGER PRIMARY KEY AUTOINCREMENT," + COL_GID + " BIGINT,"
+ COL_PMID + " BIGINT," + COL_READ + " INTEGER," + COL_MESSAGE
+ " TEXT," + COL_TYPE + " INTEGER," + COL_DATE + " BIGINT);";
注意:文本前面缺少空格。请使用以下选项:
public static final String TABLE_CREATION = "CREATE TABLE IF NOT EXISTS "
+ TABLE_NAME + " (" + COL_ID
+ " INTEGER PRIMARY KEY AUTOINCREMENT," + COL_GID + " BIGINT,"
+ COL_PMID + " BIGINT," + COL_READ + " INTEGER," + COL_MESSAGE
+ " TEXT," + COL_TYPE + " INTEGER," + COL_DATE + " BIGINT);";
使用以下命令:
public static final String TABLE_CREATION = "CREATE TABLE IF NOT EXISTS "
+ TABLE_NAME + " (" + COL_ID
+ " INTEGER PRIMARY KEY AUTOINCREMENT," + COL_GID + " BIGINT,"
+ COL_PMID + " BIGINT," + COL_READ + " INTEGER," + COL_MESSAGE
+ " TEXT," + COL_TYPE + " INTEGER," + COL_DATE + " BIGINT);";
使用以下命令:
public static final String TABLE_CREATION = "CREATE TABLE IF NOT EXISTS "
+ TABLE_NAME + " (" + COL_ID
+ " INTEGER PRIMARY KEY AUTOINCREMENT," + COL_GID + " BIGINT,"
+ COL_PMID + " BIGINT," + COL_READ + " INTEGER," + COL_MESSAGE
+ " TEXT," + COL_TYPE + " INTEGER," + COL_DATE + " BIGINT);";
使用以下命令:
public static final String TABLE_CREATION = "CREATE TABLE IF NOT EXISTS "
+ TABLE_NAME + " (" + COL_ID
+ " INTEGER PRIMARY KEY AUTOINCREMENT," + COL_GID + " BIGINT,"
+ COL_PMID + " BIGINT," + COL_READ + " INTEGER," + COL_MESSAGE
+ " TEXT," + COL_TYPE + " INTEGER," + COL_DATE + " BIGINT);";