【发布时间】:2011-09-19 02:39:08
【问题描述】:
我有一个带有点击事件的按钮:
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;
}
在第一次单击时,它会使用从存储过程“GetClient”检索到的数据填充 dataGridView1,没有任何问题。但是当我再次单击该按钮时,它会从存储过程中返回 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
【问题讨论】:
标签: c# mysql visual-studio stored-procedures mysql-connector