private void ButShow_Click_1(object sender, EventArgs e)
        {
            
            if(DBF.Text!="" &&  Access.Text!="")
            {
                if(CheckComm.Checked==true)
                {
                    int Count = 0;
                    DataTable A_dt = Access_Bing();
                    for (int i = 0; i < A_dt.Rows.Count; i++)
                    {
                        int M_Id = Convert.ToInt32(A_dt.Rows[i]["M_Id"]);//Access库Meter的主键
                        string str = A_dt.Rows[i]["Meter_ID"].ToString();//Access库Meter的通讯地址
                        if(str.Length>5)
                        {
                            DataTable D_dt = Dbf_Bing(str);
                            if (D_dt.Rows.Count != 0)
                            {
                                string Cid = D_dt.Rows[0]["Cid"].ToString();//用户编号
                                string Caddr = D_dt.Rows[0]["Caddr"].ToString();//表安装地址
                                string Rid = D_dt.Rows[0]["Rid"].ToString();//表资产编号
                                Access_Update(Cid, Caddr, Rid, M_Id);
                                Count++;
                            }
                        }
                    }
                    MessageBox.Show("已成功导入"+Count.ToString()+"条数据!", "系统提示......");
                    A_Bing();
                }
            }
            else
            {
                MessageBox.Show("dbf文件或mdb文件为空,请正确的选择文件!");
            }
        }这是button事件里的代码。就是从dbf库里读数据,再放入到access里面。数据多有点慢, 代码没问题,我就只想加一个进度条。但是要和我这个程序相符的。 进度条控件名:Pb  timer控件名:timer1  我不想用线程,所以最简单的行。

解决方案 »

  1.   

    progressbar
    http://topic.csdn.net/u/20090520/15/29a8de90-9ab0-43e9-975d-613aa60a33ef.html
      

  2.   


    Pb.Maxmum=A_dt.Rows.Count;
    Pb.Value=0;
    for (int i = 0; i < A_dt.Rows.Count; i++)
                        {
                            int M_Id = Convert.ToInt32(A_dt.Rows[i]["M_Id"]);//Access库Meter的主键
                            string str = A_dt.Rows[i]["Meter_ID"].ToString();//Access库Meter的通讯地址
                            if(str.Length>5)
                            {
                                DataTable D_dt = Dbf_Bing(str);
                                if (D_dt.Rows.Count != 0)
                                {
                                    string Cid = D_dt.Rows[0]["Cid"].ToString();//用户编号
                                    string Caddr = D_dt.Rows[0]["Caddr"].ToString();//表安装地址
                                    string Rid = D_dt.Rows[0]["Rid"].ToString();//表资产编号
                                    Access_Update(Cid, Caddr, Rid, M_Id);
                                    Count++;
                                }
                            }
                        }
                        MessageBox.Show("已成功导入"+Count.ToString()+"条数据!", "系统提示......");
                        A_Bing();
    Pb.Value+=1;
                    }
      

  3.   

    Pb.Value+=1;放错地方了,要放循环里
    后面再要加一句Application.DoEvents();
      

  4.   

    for (int i = 0; i < A_dt.Rows.Count; i++)
                        {
    ProgressBar1.Value = i * 100 / A_dt.Rows.Count;//加这一句,在from里加控件ProgressBar