0

大家好,我又卡住了。我想从我的 datagridview 中编辑一个选定的行,并将 dgv 中的数据替换为文本字段中的新信息。我设法让它改变数据集中的所有数据。所以我要问的是如何编码它的指导,所以它只编辑选定的行。

private void btnEdit_Click(object sender, EventArgs e)
{
    SqlConnection con = new SqlConnection(constring);
    SqlDataAdapter da = new SqlDataAdapter();
    da.UpdateCommand = new SqlCommand(String cmdUpdate = @"update Customer set firstName = @firstName, surname = @surname, email = @email, phonenumber = @phone, mobileNumber = @mobile";
    , con);
    da.UpdateCommand.Parameters.Add("@firstName", SqlDbType.VarChar).Value = textFirstName.Text;
    da.UpdateCommand.Parameters.Add("@surname", SqlDbType.VarChar).Value = textSurname.Text;
    da.UpdateCommand.Parameters.Add("@email", SqlDbType.VarChar).Value = textEmail.Text;
    da.UpdateCommand.Parameters.Add("@phone", SqlDbType.VarChar).Value = textPhone.Text;
    da.UpdateCommand.Parameters.Add("@mobile", SqlDbType.VarChar).Value = textMobile.Text;
    da.UpdateCommand.Parameters.Add("@ID", SqlDbType.Int).Value = customerDataSet.Customer[0].ID;

    con.Open();
    da.UpdateCommand.ExecuteNonQuery();
    MessageBox.Show("Customer Edited");
    con.Close(); 
}
4

1 回答 1

1

您 UPDATE 查询更新整个表,您应该在此查询中使用 WHERE 语句来更新具有当前 ID 的行

update Customer 
set firstName = @firstName, 
    surname = @surname, 
    email = @email, 
    phonenumber = @phone, 
    mobileNumber = @mobile
WHERE ID=@ID
于 2013-10-21T11:05:21.500 回答