Android SQL lite表插入问题

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

我已经使用android内容提供商创建了一个名为xxxx的表。我卸载应用程序并运行,然后当我尝试插入数据时,我没有发现列异常。我将在下面发布我的代码

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);";