Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
        }