0

以下是将“datagridview”中所做的更改保存到我的数据库的代码。但是代码只是将最后一条记录的值复制到所有其他记录中。

问题是什么?

   public void update_tbl(string tbl_name)
    {
         try
        {
            foreach(DataGridViewRow row in dgv1.Rows)
            {
                cn.Open();
                cmd.CommandText = "update [" + tbl_name + "] set tf='" + row.Cells[1].Value.ToString()+"'";
                cmd.ExecuteNonQuery();
                cn.Close();
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
            this.Close();
            cn.Close();
        }
    }
4

1 回答 1

0

更改以下代码行并添加 where 子句

你的代码:

cmd.CommandText = "update [" + tbl_name + "] set tf='" + row.Cells[1].Value.ToString()+"'";

预期代码:

   cmd.CommandText = "update [" + tbl_name + "] set tf='" + row.Cells[1].Value.ToString()+"' where SomeUniqueField=" + row.Cells[0].Value.ToString();

上面的代码

于 2012-08-28T11:14:20.057 回答