【问题标题】:how do you update multiple tables with 1 query您如何使用 1 个查询更新多个表
【发布时间】:2021-06-24 03:02:07
【问题描述】:

我有 2 个表,其中包含希望通过单击 1 次按钮来更新的数据。

using (SQLiteCommand cmd = connAccount.CreateCommand())
{
      cmd.CommandText = @"UPDATE account SET balance = accrued + balance, accrued = 0 WHERE active = 1";
      cmd.ExecuteNonQuery();
}

这就是我用来更新 1 表的代码,但还有第二个表,客户,其中 id 允许将津贴设置为 15000

【问题讨论】:

    标签: c# winforms sqlite


    【解决方案1】:

    您可以尝试创建一个方法,然后像这样传递对方法参数的查询

    public void UpdateData(string query)
    {
        using (SQLiteCommand cmd = connAccount.CreateCommand())
        {
               cmd.CommandText = query;
               cmd.ExecuteNonQuery();
        }
    }
    

    然后您可以在 button_click 事件上调用此方法两次

    private void UpdateButton_Click(object sender, EventArgs e)
    {
        UpdateData("Update (YourFirstTable to update)");
        UpdateData("Update (YourSecondTable to update)");
    
    }
    

    【讨论】:

      【解决方案2】:

      使用这个查询:

      @"BEGIN TRANSACTION; UPDATE account SET balance = accrued + balance, accrued = 0 WHERE active = 1; 
      UPDATE Customer ..... ;  COMMIT;";
      

      尝试使用参数而不是字符串值。

      【讨论】:

      • thatnks 效果很好,我同时添加了参数
      猜你喜欢
      • 1970-01-01
      • 2021-10-18
      • 1970-01-01
      • 1970-01-01
      • 2011-02-11
      • 1970-01-01
      • 2013-11-17
      • 1970-01-01
      相关资源
      最近更新 更多