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 に答える