我需要一些新手的帮助。
我想更新数据库的一列,但我不认为哈哈.
我有一个控制器,我把我的方法,和一个助手的数据库。
帮助者的一部分:
static Future<void> initDb() async {
if (_db != null) {
return;
}
try {
String _path = await getDatabasesPath() + 'cities.db';
_db = await openDatabase(
_path,
version: _version,
onCreate: (db, version) {
return db.execute(
"CREATE TABLE $_tableName("
"id INTEGER PRIMARY KEY AUTOINCREMENT, "
"name STRING, code STRING, "
"startDate STRING, startTime STRING, "
"endDate STRING, endTime STRING, "
"color INTEGER, isCompleted INTEGER)",
);
},
);
} catch (e) {
print(e);
}
}
static updateStatus(int id) async {
return await _db!.rawUpdate('''
UPDATE cities
SET color = ?
WHERE id = ?
''', [1, id]);
}在控制器中,我有一种方法:
void markColor(int id) async {
await DBHelper.updateStatus(id);
getCities();
}在应用程序的某个地方,我想更新字符串代码,比如markColor方法,基于屏幕上的textEditingController .我尝试了上千种不同的方法,但都没有用,有人能帮忙吗?
发布于 2022-02-20 07:21:49
颤振中的SQFlite更新通常是通过update函数本身完成的,如下所示:
final updateCount = await db.update(
'PEOPLE',
{
'FIRST_NAME': person.firstName,
'LAST_NAME': person.lastName,
},
where: 'ID = ?',
whereArgs: [person.id],
);PEOPLE是要更新的表的名称。'FIRST_NAME'和'LAST_NAME'的值是要更新的值。在这种情况下,ID列等于您在下一步中设置的值的行。whereArgs是您在where参数.中使用的参数列表。
https://stackoverflow.com/questions/71190124
复制相似问题