0

我有一个毫无疑问是一个简单的问题,但我似乎无法在任何地方找到答案。我正在编写一个 C# Windows 窗体应用程序,其中包含一个 datagridview,我使用该数据网格视图将 SQL UPDATE 语句运行到带有数据适配器的数据库中。我正在使用参数化查询,需要使用 datagridview 中的列填充参数,但我不确定使用什么语法来表示列本身。我认为我可以使用类似的东西:

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);
    }
}
4

1 回答 1

1

我不确定我是否理解正确,猜测是你想使用类似的东西:
RuleTable.Rows[index].Cells["CustomerID"].Value

其中 index 是DataGridView包含要在查询中使用的数据的行的索引。

于 2010-04-09T14:55:29.243 回答