Nó không phải là giữ cho kết nối luôn mở, bạn chỉ cần sử dụng Command Builder, tôi tin rằng nó cũng giống như MySql.
private MySqlDataAdapter adapt;
private DataSet someDataSet;
someDataSet = new DataSet();
public DataSet GetCustomerData(int customerId)
{
using(MySqlConnection connect = new MySqlConnection(ConnString))
{
connect.Open();
MySqlCommand comm = new MySqlCommand("SELECT * FROM customers WHERE Id = @0", connect);
someDataSet.Tables.Add("CustomersTable");
comm.Parameters.AddWithValue("@0", customerId);
adapt.SelectCommand = comm;
adapt.Fill(someDataSet.Tables["CustomersTable"]);
}
return someDataSet;
}
Bây giờ để cập nhật:bạn cũng có thể sử dụng bộ điều hợp mới, nhưng sau đó bạn phải cung cấp cho nó một lệnh chọn, dựa trên đó trình tạo lệnh sẽ thực hiện các lệnh Chèn, Cập nhật và Xóa.
public void UpdateTable(DataTable table, int customerId)
{
using (MySqlConnection connect = new MySqlConnection(ConnString))
{
connect.Open();
MySqlCommandBuilder commbuilder = new MySqlCommandBuilder(adapt);
adapt.SelectCommand = new MySqlCommand("SELECT * FROM customers WHERE Id = "+customerId, connect); //or use parameters.addwithvalue
adapt.Update(table);
}
}