如何更新Sqlite中的空列(Android)
我确定有很多类似的问题,但我的上下文有点不同。如何更新Sqlite中的空列(Android)
所以我正在一个Android应用程序,我插入数据到表中。假设表名是具有文本类型的列firstname和lastname的用户。
我运行一个插入函数来向表中插入一行,但只有firstname的信息。所以名字被插入并且姓氏是空的。现在问题来了。
当我尝试更新列姓时,它不起作用。我不知道它是空的还是空的。
我更新的代码看起来像
int result = db.update(TABLE_USER, contentvalue, "_id= someValue", null);
结果通常是0 Contentvalue包含姓和我能保证它不是空的。
我不知道在第一次插入时,如果我这样做,必须将最后一个值设置为null或空,而不让db处理它。任何建议表示赞赏,我想知道为什么它不起作用。谢谢
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);
}
制作接受这是否会工作....感谢得到它与
int result = database.update(TABLE_USERS, contentValues, "firstname = ?" , new String[] {firstname});
在插入过程中,没有必要填写所有列。如果你想更新一个值,那么你可以参考我的方法。创建此方法后,只有您必须通过dbhelper类的对象调用此方法。提前
但是你看,这在技术上是我在做什么没有结果 –
你正在更新表中的列值,所以你如何存储result.if你想看到更新结果然后再次您必须编写查询如** SELECT * FROM TABLE_NAME **,然后您会看到更新的结果。 –
int结果如果为true,则返回1,否则返回0。感谢你如何知道更新是否通过。 –
工作时你的表有列'_id'?你调试/记录值'someValue'?这是对的吗?你确定该行实际上被插入了吗?否则你将更新一个不存在的行 – Yazan