gpt4 book ai didi

java - 如何用 Java 更新 SQlite 中特定列中的特定行?

转载 作者:行者123 更新时间:2023-12-01 19:19:16 25 4
gpt4 key购买 nike

所以我有一个非常简单的问题,但我似乎找不到任何答案。

我正在尝试更新 SQlite 中单列的单行,但使用我现在拥有的,我似乎更新了每一行的列:

public void updateCompletedSessions(int i, User u) {
ContentValues cv = new ContentValues();
cv.put(ScheduleDbHelper.COLUMN_COMPLETION, i);

SQLiteDatabase database = this.getWritableDatabase();

database.update(TABLE_NAME, cv, "Username="+"Username", null);
}

我有一个用户作为参数,可以检查该用户的名称,因此用户名列当然都有唯一的值,但我在哪里进行检查?我认为这与 update() 方法的最后一个参数有关?

最佳答案

您的情况:

"Username="+"Username"

相当于:

"Username=Username"

这始终是 TRUE,这就是您更新表中所有行的原因。 您的方法的 updateCompletedSessions() 第二个参数是 u,它是 User 类型的对象,我假设为该类定义了一个方法 User 就像 getName() 或类似的东西。
如果是这种情况,请像这样使用它:

database.update(TABLE_NAME, cv, "Username=?", new String[] {u.getName()});

始终使用占位符 ? 并在 update() 的第四个参数中传递它们的值,而不是连接参数。

关于java - 如何用 Java 更新 SQlite 中特定列中的特定行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59380839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com