日期:2014-05-17  浏览次数:20869 次

dataGridView定时刷新问题求教
窗体如下:

在这个窗体中,加入了time控件,我想通过时间控件定时执行一个存储过程,并把结果显示到dataGridView1上;

我写的代码如下:

private DataTable MessageCount = new DataTable();
private SqlDataAdapter MyDs = new SqlDataAdapter();
private void timer1_Tick(object sender, EventArgs e)
{
                string ServerIP = txtServerIP.Text;
                string UserName = txtUserName.Text;
                string PassWord = txtPassWord.Text;
                string DataName = txtDataName.Text;
                string strMyConn = "Server=" + ServerIP + ";user id=" + UserName + ";password=" + PassWord + ";initial catalog=" + DataName + ";";
                SqlConnection MySQLConn = new SqlConnection(strMyConn);
                SqlCommand Ds = new SqlCommand("EXEC CS_CountMessag", MySQLConn);
                MyDs.SelectCommand = Ds;
                MyDs.Fill(MessageCount);
                dataGridView1.DataSource = MessageCount;                
}

上面代码执行以后,在dataGridView1显示的数据在不断的追加,由于我刚开始学C#,在这请教各位大师了,谢谢!

------解决方案--------------------
dataGridView1.DataSource = MessageCount;
之前dataGridView1.DataSource=null,清空。
------解决方案--------------------

private DataTable MessageCount = new DataTable(); 



把变量MessageCount声明挪动到timer1_Tick中去。