簡體   English   中英

將datagridview的所有數據插入數據庫C#

[英]Insert all data of a datagridview to database C#

我有一個datagridview,它由各種操作和用戶對數據的操作創建。 我想立即將gridview的所有數據插入數據庫,我知道我可以嘗試類似這樣的代碼:

private void btnSaveProducts_Click(object sender, EventArgs e)
{
    SqlConnection connection = DBConnectivity.getConnection();
    if (connection != null)
    {
        try
        {
            for (int i = 0; i < dGvProducts.Rows.Count; i++)
            {
                string query = "INSERT INTO product (productName) " + "VALUES (@productName)";
                SqlCommand command = DBConnectivity.getCommandForQuery(query, connection);
                    int result = command.ExecuteNonQuery();
                    Console.WriteLine(result + "");
            }
            //  string query = "Insert into units(name,packing)values('" + txtNameUnit.Text + "' , '" + txtPackingUnit.Text + "')";
            //  SqlCommand command = DBConnectivity.getCommandForQuery(query, connection);
            //  int result = command.ExecuteNonQuery();
            //  Console.WriteLine(result + "");
        }
        catch (Exception ex)
        {
        }
        finally
        {
            connection.Close();    
        }
    }       
}

原樣,代碼嘗試執行參數化查詢,但從不為參數賦值。 即使你這樣做,也永遠不會提取單元格值。

代碼應該如下所示:

var query = "INSERT INTO product (productName) VALUES (@productName)";

using var(connection = DBConnectivity.getConnection())
using(var command = new SqlCommand(query, connection))
{
    var productParam=command.Parameters.Add("@productName",SqlDbType.NVarChar,50);

    connection.Open();
    for (int i = 0; i < dGvProducts.Rows.Count; i++)
    {                    
        var productName=dGvProducts.Rows[i].Cells[somecolumn].Value;
        productParam.Value=productName;
        int result = command.ExecuteNonQuery();
        Console.WriteLine(result);
    }       
}

暫無
暫無

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

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