2010-04-09 25 views
0

我有什麼無疑是一個簡單的問題,但我似乎無法在任何地方找到答案。我正在編寫一個C#Windows窗體應用程序,其中包含一個datagridview,用於使用dataadapter將SQL UPDATE語句運行到數據庫。我正在使用參數化查詢並需要使用datagridview中的列填充參數,但我不確定用什麼語法來表示列本身。我以爲我可以使用類似:從datagridview中拉參數C#.NET

da.UpdateCommand.Parameters.Add("@CustomerID", SqlDbType.VarChar, 4).Value = RuleTable.Columns["CustomerID"].ToString(); 

,但同時不被更新正確的記錄,它似乎已經填充了字這些領域中的每一個「的數據。」這大致就是我在僞代碼:

using (SqlDataAdapter ruleTableDA = new SqlDataAdapter("SELECT CustomerID, etc ...", con)) 
{ 
    ruleTableDA.UpdateCommand = new SqlCommand("UPDATE CustomerTable SET " + 
    "CustomerTable.CustomerID = @CustomerID. etc ... WHERE CustomerTable.MachineID = @MachineID", con); 
    if (BobstPresses.SelectedIndex >= 0) 
    { 
     ruleTableDA.UpdateCommand.Parameters.Add("@CustomerID", 
      SqlDbType.VarChar, 4).Value = RuleTable.Columns["CustomerID"]; 
     DataTable dt = new DataTable(); 
     dt = RuleTable.DataSource as DataTable; 
     ruleTableDA.Update(dt); 
    } 
} 

回答

1

我不知道如果我理解正確的話,一個猜測是,你要使用這樣的:
RuleTable.Rows[index].Cells["CustomerID"].Value

其中,索引是包含要在查詢中使用的數據的DataGridView中的行索引。