带有ID的android sql where子句

西蒙

问题已解决,请看下面的评论

我正在尝试更新数据库,但是where子句不起作用。我已经看过代码示例,但是它们对我不起作用。

这是表格的外观。

public static final String SQL_CREATE_ENTRIES =
         "CREATE TABLE " + MessageEntry.TABLE_NAME + " (" +
        MessageEntry.COLUMN_NAME_ENTRY_ID + " INT AUTO_INCREMENT PRIMARY KEY," +
         MessageEntry.COLUMN_NAME_ENTRY_USERNAME + 
         " VARCHAR(20)," +
         MessageEntry.COLUMN_NAME_ENTRY_MESSAGE+" VARCHAR(1000)," +
            MessageEntry.COLUMN_NAME_ENTRY_OUT + " SMALLINT NOT NULL DEFAULT  0,"+
         MessageEntry.COLUMN_NAME_ENTRY_STATUS + " VARCHAR(10),"+
            MessageEntry.COLUMN_NAME_ENTRY_TIME + " TIMESTAMP DEFAULT CURRENT_TIMESTAMP)";

这是更新表的方法。我尝试了一些更新调用,但都没有用。还用硬值1。

public void updateChatMessageStatus(long id,String status){
    MessageHelper helper = new MessageHelper(this.context);
    SQLiteDatabase db = helper.getWritableDatabase();
    ContentValues values = new ContentValues();
    values.put(MessageEntry.COLUMN_NAME_ENTRY_STATUS, status);
    String[] where = {String.valueOf(id)};
    db.update(MessageEntry.TABLE_NAME, values, MessageEntry.COLUMN_NAME_ENTRY_ID+"=" +id, null);
    db.update(MessageEntry.TABLE_NAME, values, MessageEntry.COLUMN_NAME_ENTRY_ID+"=" +1, null);
    db.update(MessageEntry.TABLE_NAME, values, MessageEntry.COLUMN_NAME_ENTRY_ID+"=1", null);
    db.update(MessageEntry.TABLE_NAME, values, MessageEntry.COLUMN_NAME_ENTRY_ID+"=?", where);
    db.execSQL("UPDATE " + MessageEntry.TABLE_NAME+ " SET " +MessageEntry.COLUMN_NAME_ENTRY_STATUS+"='"+status
            +"' where "+ MessageEntry.COLUMN_NAME_ENTRY_ID +"="+1);
    db.execSQL("UPDATE " + MessageEntry.TABLE_NAME+ " SET " +MessageEntry.COLUMN_NAME_ENTRY_STATUS+"='"+status
            +"' where "+ MessageEntry.COLUMN_NAME_ENTRY_ID +"="+id);
}

我有点卡在这里,谢谢你的帮助。

西蒙

id列创建错误。在使用intauto_increment创建自动生成的id列之前。但是在android中,创建自动生成的键列的正确方法是使用autoincrementinteger

校正表

   "CREATE TABLE " + MessageEntry.TABLE_NAME + " (" +
        MessageEntry.COLUMN_NAME_ENTRY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," +...

更新我使用的电话

values.put(MessageEntry.COLUMN_NAME_ENTRY_STATUS, status);
    String[] where = {String.valueOf(id)};
    db.update(MessageEntry.TABLE_NAME, values, MessageEntry.COLUMN_NAME_ENTRY_ID+"=?", where);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

功能中带有where子句的sql语句

来自分类Dev

SQL Server带有空列的where子句

来自分类Dev

带有IN语句的SQL中的动态Where子句

来自分类Dev

SQL Server上带有IN的WHERE子句中的CASE语法

来自分类Dev

SQL查询中带有总和的Where子句

来自分类Dev

带有 GROUP BY、COUNT & WHERE 子句 (VBA) 的 SQL LEFT JOIN

来自分类Dev

带有 WHERE 子句的抽象具体 SQL 查询

来自分类Dev

带有 Where/Having 子句的 SQL 查询案例

来自分类Dev

带有 WHERE 语句的 SQL SELECT 子句用于特定顺序

来自分类Dev

带有 CASE 和 NOT IN 条件的 SQL Where 子句

来自分类Dev

带有 Where 子句的 SQL LEFT OUTER JOIN 问题

来自分类Dev

SQL Where子句具有多个值

来自分类Dev

具有多个WHERE子句的SQL RANK

来自分类Dev

Android SQL语句中的多个Where子句

来自分类Dev

带有 UNION 子句和 WHERE 子句的 VBA-ACCESS DAO SQL

来自分类Dev

WHERE 子句中带有相等语句的数字在 SQL (WHERE 2>1) 中意味着什么?

来自分类Dev

sql case where子句

来自分类Dev

SQL条件“ WHERE”子句

来自分类Dev

sql where子句查询

来自分类Dev

SQL:Where子句

来自分类Dev

SQL请求where子句

来自分类Dev

sql条件where子句

来自分类Dev

SQL(Where IN)子句的用法

来自分类Dev

SQL WHERE子句条件

来自分类Dev

带有动态Where子句的Android rawquery

来自分类Dev

带有动态Where子句的Android rawquery

来自分类Dev

Sqoop导入具有带where子句的SQL查询

来自分类Dev

具有不同where子句的多个sql查询

来自分类Dev

SQL Oracle rownum上有多个where子句?