private void button1_Click(object sender, EventArgs e) { //Calculate date of yesterday DateTime dateTime = dateTimePicker1.Value; dateTime = dateTime.AddDays(-(dateTime.Day - 1)); //Define date format this.startDate = dateTime.ToString("yyyy-MM-dd"); this.endDate = dateTimePicker1.Value.ToString("yyyy-MM-dd"); //Open folder browser to get the path FolderBrowserDialog saveFolderDialog = new FolderBrowserDialog(); saveFolderDialog.SelectedPath = Application.StartupPath; if (saveFolderDialog.ShowDialog() == DialogResult.OK) { try { //Make a connection to get BU information SqlConnection connection = new SqlConnection(Properties.Settings.Default.crrhkitop); connection.Open(); String busql = "select bu_filename, bu_parameter from DailySalesConfig order by 1 desc"; SqlCommand command = new SqlCommand(busql, connection); SqlDataReader reader = command.ExecuteReader(); progressBar1.Value += 5; while (reader.Read()) { //Config sql connection and bind parameters to sql DailySalesGetData getData = new DailySalesGetData(Properties.Settings.Default.crrhkdw, this.sql); getData.SetParameter("@sdate", this.startDate); getData.SetParameter("@edate", this.endDate); getData.SetParameter("@txdate", dateTimePicker1.Value.ToString("yyyyMMdd")); getData.SetParameter("@bu", reader[1].ToString()); //Get data reader and output csv file String fileName = reader[0].ToString() + "_sales_" + this.endDate; DailySalesOutputCSV.Output(getData.GetReader(), saveFolderDialog.SelectedPath, fileName); progressBar1.Value += 15; getData.Close(); //Close get data connection } connection.Close(); progressBar1.Value = progressBar1.Maximum; MessageBox.Show("完成.", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Dispose(); //Close window } catch (Exception ex) { MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }