/// 下载类

来源:互联网 发布:linux文本安装 编辑:程序博客网 时间:2024/04/30 01:27

 ///
    /// 下载类
    ///
    public class Downloader
    {
        //委托
        public delegate void dDownloadProgress(long total, long current,DataSet ds);
        //事件
        public event dDownloadProgress onDownLoadProgress;
        //开始模拟工作
        public void Start()
        {
            OracleConnection conn = new OracleConnection(Properties.Settings.Default.ConnectionString2.ToString());

            OracleCommand com = new OracleCommand("select count(1) from t_sskc", conn);
            conn.Open();
            long ll_countrow,ll_limt;
            ll_countrow = long.Parse(com.ExecuteScalar().ToString());
            ll_limt = ll_countrow / 99 ;
            for (int i = 0; i < 100; i++)
            {
                DataSet ds = new DataSet();
                ds.Clear();
                long ll_start, ll_end;
                ll_start = i * ll_limt + 1;
                ll_end = ll_start + ll_limt;
                if (ll_end > ll_countrow)
                    ll_end = ll_countrow;

                OracleDataAdapter dap = new OracleDataAdapter("SELECT *  FROM (SELECT A.*, rownum r FROM t_sskc A WHERE rownum <= " + ll_end.ToString() + ") B WHERE r > " + ll_start.ToString(), conn);
                dap.Fill(ds, "T_SSKC");

                //分页
                if (onDownLoadProgress != null)
                    onDownLoadProgress(ll_countrow,ll_end, ds);
                System.Threading.Thread.Sleep(100);
            }

            conn.Close();
        }
    }

原创粉丝点击