У меня есть кнопка с событием клика:
private void btnShow_Click(object sender, EventArgs e)
{
MySqlConnection con = new MySqlConnection("SERVER=localhost;DATABASE=airdb;UID=root;PASSWORD=123456");
con.Open();
DataTable dt = new DataTable();
MySqlCommand cm = new MySqlCommand("CALL GetClient()", con);
MySqlDataAdapter da = new MySqlDataAdapter(cm);
da.Fill(dt);
con.Close();
dataGridView1.DataSource = dt;
}
При первом щелчке он без проблем заполняет dataGridView1 данными, полученными из хранимой процедуры «GetClient». Но когда я снова нажимаю кнопку, он возвращает счетчик 0 из хранимой процедуры, и все данные в dataGridView1 исчезают. Третий щелчок снова работает хорошо, а четвертый щелчок возвращает счет 0, пятый щелчок исправен, шестой щелчок не прошел, ... (аналогично следующему щелчку)
Но когда я изменяю свой код на:
DataTable dt = MySqlHelper.ExecuteDataset("SERVER=localhost;DATABASE=airdb;UID=root;PASSWORD=123456", "CALL GetClient()").Tables[0];
dataGridView1.DataSource = dt;
Хорошо работает во всех ситуациях.
Так что мне интересно, есть ли что-то не так с первым кодом.
хранимая процедура: select * from Client