簡體   English   中英

C#中DataGridView的SQL數據更新問題

[英]Data update problem in SQL from DataGridView in C#

我在 SQL 服務器中有兩個表,我有一個表格purchaseinvoiceform 它使用DataGridView來保存多個產品。

在保存模式下,這很有效。 但是當我更新任何訂單時,它只更新第一個表purchaseinvoice ,而不更新第二個表purchaseinvoicedetails purchaseinvoicedetailsordernumber保存多個產品。 如果我在datagridview有一項,它會成功保存。 現在當我更新這一項時,沒有問題發生。 但是當我按此順序再添加一個項目並嘗試更新它時,它不會保存其他項目。

更新查詢:

SaveOrUpdateProductDetailsOnly("UPDATE [dbo].[PurchaseInvoiceDetails] SET [ProductCode] = @ProductCode ,[ProductName] = @ProductName ,[Box] = @Box,[Quantity] = @Quantity ,[Price] = @Price,[DiscountInPercent] = @DiscountInPercent ,[DiscountAmount] = @DiscountAmount,[Amount] = @Amount WHERE PurchaseInvoiceNo = @PurchaseInvoiceNo");

這是代碼

這個怎么樣?

private void btnUpdate_Click(object sender, EventArgs e)
{

    using (SqlConnection con = new SqlConnection("Server=your_server_name;Database=your_database_name;Trusted_Connection=True;"))
    {

        using (SqlCommand cmd = new SqlCommand("SELECT * FROM Courses", con))
        {
            using (SqlDataAdapter da = new SqlDataAdapter(cmd))
            {
                {
                    SqlCommandBuilder sqlcmd = new SqlCommandBuilder(da);
                    DataSet ds = new System.Data.DataSet(); // remove this line
                    da.Update(this.ds, "Courses");
                }
            }
        }
    }
}

我認為如果您想更新第二個表中的所有記錄,您需要將所有 cmd.parameters 放在 foreach 語句中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM