簡體   English   中英

將數據源綁定到datagridview

[英]Bind datasource to a datagridview

我在Winform中使用.net 4.0 c#。 現在,我使用存儲過程將新行插入數據庫。 顯然,我對asp.net和Windows窗體之間的綁定步驟感到困惑。 在asp.net中,它非常簡單,但在winform中,似乎必須使用BindingSource對象???

這意味着在Winform中,我們必須使用其他方式。 下面的代碼是我以前在asp.net中用來插入新記錄和綁定的代碼。 如何重寫它以將數據源綁定到datagridview。

public void ExecuteNonQuery(string storedProcedure, Dictionary<string, object> parameters)
    {
        using (SqlConnection conn = new SqlConnection(_connectionString))
        {
            conn.Open();
            using (SqlCommand cmd = new SqlCommand(storedProcedure, conn))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                if (parameters != null)
                {
                    foreach (string parameter in parameters.Keys)
                    {
                        cmd.Parameters.AddWithValue(parameter, parameters[parameter] ?? DBNull.Value);
                    }
                }
                cmd.ExecuteNonQuery();
            }
            conn.Close();
        }
    }

設置參數后,按如下方式調用它:

        DBAccess dbaccess = new DBAccess(connString);
        dbaccess.ExecuteNonQuery("InsertStoredProcedure", parameters);

我不知道如何將數據庫綁定到datagridview。 謝謝。

如果將行插入數據庫,則需要再次從數據庫中獲取行。 使用另一個存儲過程(帶有SELECT查詢)。

您正在使用ExecuteNonQuery,這意味着您沒有從數據庫查詢任何內容。 因此,它不會以網格的形式提供結果。 但是它只會返回一個整數,其中包含受影響的行數。

所以我的建議是在插入行之后,編寫另一個查詢以使用cmd.ExecuteReader()獲取行並將SqlReader對象綁定到Grid。

希望能解決您的問題。

暫無
暫無

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

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