यह कनेक्शन को खुला रखने के बारे में नहीं है, आपको बस कमांड बिल्डर का उपयोग करना है, यह 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;
}
अब अपडेट करने के लिए:आप एक नए एडेप्टर का भी उपयोग कर सकते हैं, लेकिन फिर आपको इसे एक चुनिंदा कमांड देना होगा, जिसके आधार पर कमांडबिल्डर इन्सर्ट, अपडेट और डिलीट कमांड करेगा।
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);
}
}