在数据库表中有1000个数据行,表中有个ID字段,其范围0-999. 
每隔一秒刷新一次,往datagridview中添加一个数据,并用一个timer定时器。 
当用datagridview显示数据时发现当满一页时,数据没有按照从小到大的顺序显示。 
即,当显示完29时,第30条数据出现在datagridview第一条数据的上面。 
然后,后面又正常显示?第31条出现在第29条后面。 
请问,如何解决这个问题?另外,我采用的方法可能占用了较大资源,有什么效率更高的办法?谢谢!
下面是定时器中的代码。
QZBdatanumber++;
string connectionString_QZB = "Data Source=20090226-1504\\SQLEXPRESS;Initial Catalog=705D;Integrated Security=True";
 SqlConnection con_QZB = new SqlConnection(connectionString_QZB);
  con_QZB.Open();
 string command_QZB = "select * from QZBdata where ID = '" + QZBdatanumber + "'";
 SqlCommand sqlCommand_QZB = new SqlCommand();
 sqlCommand_QZB.Connection = con_QZB;
  sqlCommand_QZB.CommandText = command_QZB;          SqlDataAdapter sqlDataAdapter_QZB = new SqlDataAdapter();
            sqlDataAdapter_QZB.SelectCommand = sqlCommand_QZB;
            DataSet DataSet_QZB = new DataSet();            sqlDataAdapter_QZB.Fill(DataSet_QZB);                
            BindingSource BindingSource_QZB = new BindingSource();
            BindingSource_QZB.DataSource = DataSet_QZB.Tables[0];
            dataGV_qiuzuobiao.DataSource = BindingSource_QZB;