如何使用参数更新SQLite数据库?

问题描述 投票:0回答:1

使用参数时更新数据库时出现问题。以下代码不会引发异常,类似的代码似乎可以在我正在处理的另一个应用程序中工作。我可能只是忽略了一些简单的事情,或者可能是我做的不正确。任何输入,不胜感激。

PS。如果要添加更多,我会添加更多,但是就像我说的那样,我没有收到任何错误。它只是不更新​​数据库。

        try
        {
            con.Open();
            SQLiteCommand cmd = new SQLiteCommand();
            cmd.Connection = con;
            cmd.Parameters.AddWithValue("@Status", "Finished");
            cmd.Parameters.AddWithValue("@OrderID", txtOrderToFinish.Text); //from text box
            cmd.CommandText = $"UPDATE Orders SET Status = @Status WHERE OrderID = @OrderID";
            cmd.ExecuteNonQuery();

            //Reset Screen
            txtOrderToFinish.Text = "";
            txtOrderToFinish.Focus();
        }
        catch (Exception ex)
        {
            MessageBox.Show("Could not set the order to finished in the databse.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Information);

            //***Log Error Here ***REMOVED***

        }
        finally
        {
            con.Close();
        }
c# sqlite parameters
1个回答
0
投票

您的代码很好。

  1. 请确保您未锁定sqlite数据库。我的测试用例是使用DB Browser for SQLite创建sqlite db并插入数据。在单击write changes按钮之前,一切都无法在C#中正常工作。
  2. 订单表中至少有一个订单和状态= Finished
  3. 不要在sqlite中存储ERP(企业资源计划)数据。ERP表示采购订单或订单...财务报告或会计之类的业务流程。
  4. 整数行= cmd.ExecuteNonQuery();检查rows值。
  5. [My DropBox Example File记得设置文件db路径。我将其移至SQLiteApp\bin\Debug\TESTDB.db
© www.soinside.com 2019 - 2024. All rights reserved.