c# - 我的更新运行计算,但将相同的值更新到所有行
问题描述
当我运行以下函数时,它会循环并将新值写入数据库,但值都是相同的。我有一个类似的问题,但我以不同的方式实现它 - 这是不使用数组的不同方式。
cmd = con.CreateCommand();
string end = @"SELECT balance, accrued FROM account ";
string update = @"UPDATE account SET balance = @balance WHERE account.prodid = product.prodid";
con.Open();
cmd = new SQLiteCommand(end, con);
reader = cmd.ExecuteReader();
while (reader.Read())
{
double balance = double.Parse(reader[0].ToString());
double accrued = double.Parse(reader[1].ToString());
balance = balance *accrued;
cmd = new SQLiteCommand(update, con);
cmd.Parameters.AddWithValue("balance", balance);
cmd.ExecuteNonQuery();
}
解决方案
您可以直接使用 SQL 来计算您的列余额,如下所示。
UPDATE account SET balance = balance * accrued
此致 。
推荐阅读
- android - 在 androidTest 与 test 中应该测试什么类型的东西
- javascript - Angular:显示两个类组件之间的差异
- django - Django 模型寻求多对多领域的替代方案
- arrays - 如何打印 Python 数组列表以进行 Excel
- python - 是否可以使用来自 3D 点云的 skimage 行进立方体重建(插值)3D 表面?
- javascript - 如何使用 axios 将图像作为应用程序/json 数据发布到 REST 端点?
- python - 如何删除一个带有两个特定初始单词的句子
- c++ - 重置 std::shared_ptr 是否会导致重置其删除器?
- postgresql - 架构 pgagent 的权限被拒绝
- python - python - 如何将字典的值与函数一起添加