Đây chỉ là mã giả về những gì bạn cần làm
string cmdText = @"UPDATE t_pi_Clients
SET ClientName = @ClientName,
PostalAdd = @PostalAdd,
Telephone = @Telephone,
Fax = @Fax,
.... etc ....
WHERE ClientCode = @ClientCode";
using(MySqlConnection cn = new MySqlConnection(.....))
using(MySqlCommand cmd = new MySqlCommand(cmdText, cn))
{
cn.Open();
cmd.Parameters.AddWithValue("@ClientName", txtboxClientName.Text);
cmd.Parameters.AddWithValue("@PostalAdd", txtboxPostalAddress.Text);
....etc etc...
cmd.Parameters.AddWithValue("@ClientCode", textboxClientCode.Text);
int rowsUpdated = cmd.ExecuteNonQuery();
if(rowsUpdated > 0)
{
// extract the code that loads DataGridView1 from the Form_Load
// and create a reusable method that you could call from here
}
}
Đầu tiên, bạn tạo một văn bản lệnh sql với UPDATE
mệnh đề. Tôi giả định rằng khóa chính của bạn (trường xác định duy nhất các bản ghi của bạn) là ClientCode
trường.
Sau đó, tạo kết nối và lệnh. Điền vào bộ sưu tập tham số lệnh với các tham số theo yêu cầu của văn bản, lấy các giá trị từ TextBox.
Gọi ExecuteNonQuery
để lưu trữ các giá trị.
Nếu bạn thành công thì bạn cần cập nhật hoặc tải lại chế độ xem dữ liệu của mình. Cách tiếp cận tốt nhất sẽ là đặt từng ô dạng lưới của hàng hiện tại với các giá trị mới từ các hộp văn bản hoặc bạn có thể chỉ cần trích xuất mã được sử dụng trong form_load để điền vào lưới và tạo một phương thức mới mà bạn có thể gọi từ nút sự kiện nhấp chuột. (Nhưng điều này có thể chậm hơn nếu bạn có nhiều bản ghi)