private void DB_select_DoWork(object sender, DoWorkEventArgs e) { try { BackgroundWorker worker = sender as BackgroundWorker; GlobalData.query_argument args = e.Argument as GlobalData.query_argument; swatch.Start(); DataTable dt; dt = DB_control.DB_SELECT(args); swatch.Stop(); string query_speed = Math.Round(Convert.ToDouble(swatch.ElapsedMilliseconds / 1000), 2).ToString(); swatch.Reset(); swatch.Start(); dgv_selectData.Invoke((MethodInvoker) delegate() { dgv_selectData.DataSource = dt; dgv_selectData.Columns[0].DefaultCellStyle.Format = "yyyy/MM/dd HH:mm:ss"; dgv_selectData.Update(); }); swatch.Stop(); string ui_speed = Math.Round(Convert.ToDouble(swatch.ElapsedMilliseconds / 1000), 2).ToString(); lb_Query_speed.Invoke((MethodInvoker) delegate() { lb_Query_speed.Text = query_speed + " s, " + ui_speed + " s " + dt.Rows.Count.ToString() + " 행"; }); swatch.Reset(); this.Invoke((MethodInvoker) delegate() { loading.Close(); }); GC.Collect(); } catch (Exception ex) { Log("[" + ex.ToString() + "]" + DateTime.Now); } }
public DataTable DB_SELECT(GlobalData.query_argument args) { DataTable dt = new DataTable(); string sql = ""; try { if (args.total) { if (args.ng_check) { if (args.date_check) { if (GlobalData.Select_Data) { sql = "SELECT * FROM blade_table where TIME BETWEEN '" + args.start_date + "' AND '" + args.end_date + "' AND barcode NOT IN (SELECT Filtered_barcode as barcode FROM blocking_table) ORDER BY TIME asc, barcode asc"; } else { sql = "SELECT * FROM blade_table where TIME BETWEEN '" + args.start_date + "' AND '" + args.end_date + "' ORDER BY TIME asc, barcode asc"; } } else { if (GlobalData.Select_Data) { sql = "SELECT * FROM blade_table WHERE barcode NOT IN (SELECT Filtered_barcode as barcode FROM blocking_table) ORDER BY TIME asc, barcode asc"; } else { sql = "SELECT * FROM blade_table ORDER BY TIME asc, barcode asc"; } } } else { if (args.date_check) { if (GlobalData.Select_Data) { sql = "SELECT * FROM blade_table where TIME BETWEEN '" + args.start_date + "' AND '" + args.end_date + "' AND barcode NOT IN (SELECT Filtered_barcode as barcode FROM blocking_table) AND ( (DAN != 'ok') OR (P1_NOK != 'ok') OR" + " (P2_NOK != 'ok') OR (P3_NOK != 'ok') OR (P4_NOK != 'ok') OR (WIDTH1_NOK != 'ok') OR (WIDTH2_NOK != 'ok')) ORDER BY TIME asc, barcode asc"; } else { sql = "SELECT * FROM blade_table where TIME BETWEEN '" + args.start_date + "' AND '" + args.end_date + "' AND ( (DAN != 'ok') OR (P1_NOK != 'ok') OR" + " (P2_NOK != 'ok') OR (P3_NOK != 'ok') OR (P4_NOK != 'ok') OR (WIDTH1_NOK != 'ok') OR (WIDTH2_NOK != 'ok')) ORDER BY TIME asc, barcode asc"; } } else { if (GlobalData.Select_Data) { sql = "SELECT * FROM blade_table WHERE barcode NOT IN (SELECT Filtered_barcode as barcode FROM blocking_table) AND ((DAN != 'ok') OR (P1_NOK != 'ok') OR (P2_NOK != 'ok')" + " OR (P3_NOK != 'ok') OR (P4_NOK != 'ok') OR (WIDTH1_NOK != 'ok') OR (WIDTH2_NOK != 'ok')) ORDER BY TIME asc, barcode asc"; } else { sql = "SELECT * FROM blade_table WHERE (DAN != 'ok') OR (P1_NOK != 'ok') OR (P2_NOK != 'ok')" + " OR (P3_NOK != 'ok') OR (P4_NOK != 'ok') OR (WIDTH1_NOK != 'ok') OR (WIDTH2_NOK != 'ok') ORDER BY TIME asc, barcode asc"; } } } } else { if (args.ng_check) { if (args.date_check) { if (GlobalData.Select_Data) { sql = "SELECT * FROM blade_table where barcode NOT IN (SELECT Filtered_barcode as barcode FROM blocking_table) AND (barcode = '" + args.barcode_name + "' AND TIME BETWEEN '" + args.start_date + "' AND '" + args.end_date + "') ORDER BY TIME asc, barcode asc"; } else { sql = "SELECT * FROM blade_table where barcode = '" + args.barcode_name + "' AND TIME BETWEEN '" + args.start_date + "' AND '" + args.end_date + "' ORDER BY TIME asc, barcode asc"; } } else { if (GlobalData.Select_Data) { sql = "SELECT * FROM blade_table where barcode NOT IN (SELECT Filtered_barcode as barcode FROM blocking_table) AND barcode = '" + args.barcode_name + "' ORDER BY TIME asc, barcode asc"; } else { sql = "SELECT * FROM blade_table where barcode = '" + args.barcode_name + "' ORDER BY TIME asc, barcode asc"; } } } else { if (args.date_check) { if (GlobalData.Select_Data) { sql = "SELECT * FROM blade_table where barcode NOT IN (SELECT Filtered_barcode as barcode FROM blocking_table) AND barcode = '" + args.barcode_name + "' AND TIME BETWEEN '" + args.start_date + "' AND '" + args.end_date + "' AND ( (DAN != 'ok') OR (P1_NOK != 'ok') OR" + " (P2_NOK != 'ok') OR (P3_NOK != 'ok') OR (P4_NOK != 'ok') OR (WIDTH1_NOK != 'ok') OR (WIDTH2_NOK != 'ok')) ORDER BY TIME asc, barcode asc"; } else { sql = "SELECT * FROM blade_table where barcode = '" + args.barcode_name + "' AND TIME BETWEEN '" + args.start_date + "' AND '" + args.end_date + "' AND ( (DAN != 'ok') OR (P1_NOK != 'ok') OR" + " (P2_NOK != 'ok') OR (P3_NOK != 'ok') OR (P4_NOK != 'ok') OR (WIDTH1_NOK != 'ok') OR (WIDTH2_NOK != 'ok')) ORDER BY TIME asc, barcode asc"; } } else { if (GlobalData.Select_Data) { sql = "SELECT * FROM blade_table where barcode NOT IN (SELECT Filtered_barcode as barcode FROM blocking_table) AND barcode = '" + args.barcode_name + "' AND ( (DAN != 'ok') OR (P1_NOK != 'ok')" + " OR (P2_NOK != 'ok') OR (P3_NOK != 'ok') OR (P4_NOK != 'ok') OR (WIDTH1_NOK != 'ok') OR (WIDTH2_NOK != 'ok')) ORDER BY TIME asc, barcode asc"; } else { sql = "SELECT * FROM blade_table where barcode = '" + args.barcode_name + "' AND ( (DAN != 'ok') OR (P1_NOK != 'ok')" + " OR (P2_NOK != 'ok') OR (P3_NOK != 'ok') OR (P4_NOK != 'ok') OR (WIDTH1_NOK != 'ok') OR (WIDTH2_NOK != 'ok')) ORDER BY TIME asc, barcode asc"; } } } } //ExecuteReader를 이용하여 //연결 모드로 데이타 가져오기 lock (GlobalData.db_select_object) { //MySqlCommand cmd = new MySqlCommand(sql, select_conn); ////MySqlDataReader table = cmd.ExecuteReader(); //MySqlDataReader rdr = cmd.ExecuteReader(); //dt.Load(rdr); //rdr.Close(); select_command.CommandText = sql; adapter.SelectCommand = select_command; adapter.Fill(dt); } } catch (Exception ex) { Log("[" + ex.ToString() + "][" + sql + "]" + DateTime.Now); } return(dt); }