public static ResultRequest.Job Get_Result_Respond(ResultRequest.Result result,
                                                    ref string sql, ref int left, ref int right, ref int mid, ref string str_result)
 {
     ResultRequest.Job work_state = ResultRequest.Job.None;
     if (Confirm.Is_Click_btnGDatabaseName)
     {
         work_state = Handing.Respond(result, ResultRequest.Mode.String, ResultRequest.Mode_SQL.DB_Name,
                                      ref sql, ref left, ref right, ref mid, ref str_result);
     }
     else if (Confirm.Is_Click_btnGNameTables)
     {
         if (Confirm.Count_Tables_Done)
         {
             work_state = Handing.Respond(result, ResultRequest.Mode.String, ResultRequest.Mode_SQL.TABLES_NAME,
                                          ref sql, ref left, ref right, ref mid, ref str_result);
         }
         else
         {
             work_state = Handing.Respond(result, ResultRequest.Mode.Number, ResultRequest.Mode_SQL.TABLES_NAME,
                                          ref sql, ref left, ref right, ref mid, ref str_result);
         }
     }
     else if (Confirm.Is_Click_btnGNameColumns)
     {
         if (Confirm.Find_Quantity_Done)
         {
             work_state = Handing.Respond(result, ResultRequest.Mode.String, ResultRequest.Mode_SQL.COLUMNS_NAME,
                                          ref sql, ref left, ref right, ref mid, ref str_result);
         }
         else
         {
             work_state = Handing.Respond(result, ResultRequest.Mode.Number, ResultRequest.Mode_SQL.COLUMNS_NAME,
                                          ref sql, ref left, ref right, ref mid, ref str_result);
         }
     }
     else if (Confirm.Is_Click_btnGetData)
     {
         if (!Confirm.Find_Quantity_Row_Done.Contains(false))
         {
             work_state = Handing.Respond(result, ResultRequest.Mode.String, ResultRequest.Mode_SQL.DATA_TABLE,
                                          ref sql, ref left, ref right, ref mid, ref str_result);
         }
         else
         {
             work_state = Handing.Respond(result, ResultRequest.Mode.Number, ResultRequest.Mode_SQL.DATA_TABLE,
                                          ref sql, ref left, ref right, ref mid, ref str_result);
         }
     }
     return(work_state);
 }
示例#2
0
        private void wbro_Brower_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            txt_Url.Text = wbro_Brower.Url.ToString();
            html         = wbro_Brower.DocumentText;

            html_Document_Current = wbro_Brower.Document;

            if (btn_Click)
            {
                ResultRequest.Result result     = Handing.GetResultSubmit(html_Document_Current);
                ResultRequest.Job    work_state = ResultRequest.Job.None;

                int    left, mid, right, index;
                string str_result, sql;
                left       = mid = right = index = 0;
                str_result = sql = "";

                Variable.Get_Data_Variable(ref left, ref mid, ref right, ref index, ref str_result, ref sql);

                work_state = Handing.Get_Result_Respond(result, ref sql, ref left, ref right, ref mid, ref str_result);

                Variable.Set_Data_Variable(left, mid, right, index, str_result, sql);

                if (work_state == ResultRequest.Job.Done_ALL)
                {
                    if (Confirm.Is_Click_btnGDatabaseName)
                    {
                        Confirm.Is_Click_btnGDatabaseName = false;
                        btn_Click             = false;
                        btn_GetDBName.Enabled = false;
                        Variable.Left         = 0; Variable.Right = 255; Variable.Mid = 127; Variable.Index_str = 0;
                        Variable.Str_result   = "";
                        return;
                    }
                    else if (Confirm.Is_Click_btnGNameTables)
                    {
                        if (Confirm.Count_Tables_Done) // print table name
                        {
                            Variable.Index_str = 0;
                            if (Variable.Index_Tables < Variable.Quantity_Tables)
                            {
                                Variable.Index_Tables++;
                                lbl_TBsName.Text += "     ";
                                Variable.Left     = 0; Variable.Right = 255; Variable.Mid = 127;
                                btn_GetTBsName.PerformClick();
                                return;
                            }
                            else // all done
                            {
                                Variable.Index_str = 0;
                                Confirm.Is_Click_btnGNameTables = false;
                                btn_Click = false;

                                cmb_TbsName.Items.Add(Variable.Db_TablesName);
                                return;
                            }
                        }
                        else
                        {
                            lbl_Count_TBsName.Text   += Variable.Str_result;
                            Variable.Quantity_Tables  = Convert.ToInt32(Variable.Str_result);
                            Confirm.Count_Tables_Done = true;

                            Variable.Reset_Data_Variable();

                            btn_GetTBsName.PerformClick();
                            return;
                        }
                    }
                    else if (Confirm.Is_Click_btnGNameColumns)
                    {
                        if (Confirm.Find_Quantity_Done)
                        {
                            Variable.Index_Columns++;
                            if (Variable.Index_Columns >= Variable.Quantity_Columns[Variable.Index_Tables])
                            {
                                Variable.Index_Columns = 0;
                                Variable.Index_Tables++;
                            }

                            Variable.Reset_Data_Variable();

                            btn_GetColsName.PerformClick();
                            return;
                        }
                        else
                        {
                            Variable.Quantity_Columns[Variable.Index_Tables] = Convert.ToInt32(Variable.Str_result);
                            Variable.Str_result = "";
                            Variable.Index_Tables++;

                            Variable.Reset_Data_Variable();

                            btn_GetColsName.PerformClick();
                            return;
                        }
                    }
                    else if (Confirm.Is_Click_btnGetData)
                    {
                        if (Confirm.Find_Quantity_Row_Done.Contains(false)) //don't complete
                        {
                            Variable.Quantity_Row[Variable.Index_Tables]          = Convert.ToInt32(Variable.Str_result);
                            Confirm.Find_Quantity_Row_Done[Variable.Index_Tables] = true;

                            Variable.Reset_Data_Variable();
                            btn_GetData.PerformClick();

                            return;
                        }
                        else
                        {
                            Variable.Index_Columns++;

                            if (Variable.Index_Columns >= Variable.Quantity_Columns[Variable.Index_Tables])
                            {
                                Variable.Index_Columns = 0;
                                Variable.Index_Rows++;
                                if (Variable.Index_Rows >= Variable.Quantity_Row[Variable.Index_Tables])
                                {
                                    Variable.Index_Rows = 0;
                                    Variable.Index_Tables++;
                                }
                            }
                            else
                            {
                                Change_IndexCols_Whent_GetDataTable();
                            }
                            Variable.Reset_Data_Variable();
                            btn_GetData.PerformClick();
                            return;
                        }
                    }
                }
                else if (work_state == ResultRequest.Job.Done_OnePart)
                {
                    if (Confirm.Is_Click_btnGDatabaseName)
                    {
                        lbl_Result_DBName.Text += Variable.Str_result;
                        Variable.Db_Name       += Variable.Str_result;

                        Variable.Sql_Request = Handing.Change_Sql_Get_Next_Char(ResultRequest.Mode_SQL.DB_Name);
                    }
                    else if (Confirm.Is_Click_btnGNameTables)
                    {
                        Variable.Db_TablesName[Variable.Index_Tables] += Variable.Str_result;
                        lbl_TBsName.Text    += Variable.Str_result;
                        Variable.Sql_Request = Handing.Change_Sql_Get_Next_Char(ResultRequest.Mode_SQL.TABLES_NAME);
                    }
                    else if (Confirm.Is_Click_btnGNameColumns)
                    {
                        Variable.Db_ColumnsName[Variable.Index_Tables][Variable.Index_Columns] += Variable.Str_result;
                        Variable.Sql_Request = Handing.Change_Sql_Get_Next_Char(ResultRequest.Mode_SQL.COLUMNS_NAME);
                    }
                    else if (Confirm.Is_Click_btnGetData)
                    {
                        Variable.Bd_DataTable[Variable.Index_Tables][Variable.Index_Rows][Variable.Index_Columns] += Variable.Str_result;
                        Variable.Sql_Request = Handing.Change_Sql_Get_Next_Char(ResultRequest.Mode_SQL.DATA_TABLE);

                        dgv_Data.DataSource = Fill_Data_To_DataTable();
                    }
                    PutData(Variable.Sql_Request);
                }
                else if (work_state == ResultRequest.Job.Continue)
                {
                    PutData(Variable.Sql_Request);
                }
            }
        }