我确定有很多类似的问题,但我的背景有点不同。
所以我正在使用Android应用程序,并且我正在将数据插入表格中。我们假设表名是user,其列名为firstname,lastname是text。
我运行一个插入函数来向表中插入一行,但只包含firstname的信息。因此插入firstname并且lastname为空。现在问题来了。
当我尝试更新列姓氏时,它不起作用。我不知道它是否为空或无效。
我的更新代码类似于
int result = db.update(TABLE_USER, contentvalue, "_id= someValue", null);
结果通常为0。 Contentvalue包含姓氏,我可以保证它不是空的。
我不知道在第一次插入期间,是否必须将最后一个值设置为null或为空,并且如果我这样做,则不让db处理它的工作原理。任何建议都表示赞赏,我想知道为什么它也不起作用。感谢
答案 0 :(得分:1)
在插入期间,不填写所有列。如果要更新值,则可以从我的方法中获取参考。创建此方法后,只需要通过dbhelper类的对象调用此方法。
public void updateData(String id, String eventname, String strdate, String strtime, String enddate, String endtime)
{
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(COLUMN_EVENTNAME,eventname);
contentValues.put(COLUMN_STARTDATE,strdate);
contentValues.put(COLUMN_STARTTIME,strtime);
contentValues.put(COLUMN_ENDDATE, enddate);
contentValues.put(COLUMN_ENDTIME,endtime);
db.update(TABLE_NAME, contentValues, COLUMN_ID+"="+id, null);
}
如果这样可行,请接受....提前致谢
答案 1 :(得分:0)
使用
int result = database.update(TABLE_USERS, contentValues, "firstname = ?" , new String[] {firstname});