Exemplo n.º 1
0
        private void tabVisualizar_Enter(object sender, EventArgs e)
        {
            try
            {
                if (BS_Consulta.Current != null)
                {
                    if (Grid_Visualizador.Columns.Count > 0)
                    {
                        Grid_Visualizador.Columns.Clear();
                    }

                    if (Grid_Visualizador.Rows.Count > 0)
                    {
                        Grid_Visualizador.Rows.Clear();
                    }

                    if ((BS_Consulta.Current as TRegistro_Cad_Consulta).DS_SQL == "")
                    {
                        DS_SQL.Text = TCN_Cad_Consulta.BuscaStringSQL(BS_Consulta.Current as TRegistro_Cad_Consulta, false);
                    }
                    else
                    {
                        DS_SQL.Text = (BS_Consulta.Current as TRegistro_Cad_Consulta).DS_SQL;
                    }

                    if (DS_SQL.Text != "")
                    {
                        DataTable dataTable = TCN_Cad_Consulta.BuscarSQL(DS_SQL.Text);

                        for (int i = 0; i < dataTable.Columns.Count; i++)
                        {
                            DataGridViewTextBoxColumn coluna = new DataGridViewTextBoxColumn();
                            coluna.Name             = dataTable.Columns[i].ColumnName;
                            coluna.HeaderText       = dataTable.Columns[i].ColumnName;
                            coluna.DataPropertyName = dataTable.Columns[i].ColumnName;
                            coluna.AutoSizeMode     = DataGridViewAutoSizeColumnMode.DisplayedCells;
                            Grid_Visualizador.Columns.Add(coluna);
                        }

                        BS_Visualizador.DataSource = dataTable;
                        BS_Visualizador.ResetBindings(true);
                    }
                }
                else
                {
                    tcCentral.SelectedIndex = 0;
                    MessageBox.Show("Atenção, é necessário informar um consulta");
                    ID_Consulta.Focus();
                }
            }
            catch (Exception erro)
            {
                MessageBox.Show("ERRO: " + erro.Message);
            }
        }
Exemplo n.º 2
0
        private void tsBB_Executar_Click(object sender, EventArgs e)
        {
            List <string> lista = new List <string>();

            System.IO.StringReader rd = new System.IO.StringReader(DS_SQL.Text);
            string linha = string.Empty;

            while (linha != null)
            {
                linha = rd.ReadLine();
                if (linha != null)
                {
                    if (linha.Contains("'{@"))
                    {
                        string[] var = linha.Split(new char[] { '{' });
                        for (int i = 0; var.Length > i; i++)
                        {
                            if (var[i].Contains("@") && var[i].Contains("}"))
                            {
                                if (!lista.Exists(p => p.Equals(var[i])))
                                {
                                    lista.Add(var[i].Split(new char[] { '}' })[0]);
                                }
                            }
                        }
                    }
                }
                ;
            }
            if (lista.Count > 0)
            {
                using (TFParametrosConsulta fParam = new TFParametrosConsulta())
                {
                    //Criar fonte de dados
                    fParam.lista = lista;
                    if (fParam.ShowDialog() == DialogResult.OK)
                    {
                        if (fParam.data != null)
                        {
                            string Sql = DS_SQL.Text;
                            for (int i = 0; fParam.data.Rows.Count > i; i++)
                            {
                                if (!string.IsNullOrEmpty(ConsultaSql))
                                {
                                    Sql = ConsultaSql;
                                }
                                string param = "{" + fParam.data.Rows[i]["param"] + "}";
                                string valor = fParam.data.Rows[i]["valor"].ToString();
                                ConsultaSql = Sql.Replace(param, valor);
                            }
                        }
                    }
                }
            }
            else
            {
                ConsultaSql = DS_SQL.Text;
            }

            if (VerificaAcessoSyntax() && VerificaTabelasPermitidas())
            {
                try
                {
                    adicionaMSGErro("Aguarde... executanto a consulta SQL!");

                    if (grid_Resultado.Columns.Count > 0)
                    {
                        grid_Resultado.Columns.Clear();
                    }

                    if (grid_Resultado.Rows.Count > 0)
                    {
                        grid_Resultado.Rows.Clear();
                    }

                    if (DS_SQL.Text != "")
                    {
                        DataTable dataTable = TCN_Cad_Consulta.BuscarSQL(ConsultaSql.Replace("\n", " ").Replace("\t", " "));

                        for (int i = 0; i < dataTable.Columns.Count; i++)
                        {
                            DataGridViewTextBoxColumn coluna = new DataGridViewTextBoxColumn();
                            coluna.Name             = dataTable.Columns[i].ColumnName;
                            coluna.HeaderText       = dataTable.Columns[i].ColumnName;
                            coluna.DataPropertyName = dataTable.Columns[i].ColumnName;
                            coluna.AutoSizeMode     = DataGridViewAutoSizeColumnMode.DisplayedCells;
                            grid_Resultado.Columns.Add(coluna);
                        }

                        BS_Resultado.DataSource = dataTable;
                        BS_Resultado.ResetBindings(true);

                        grid_Resultado.Visible = true;
                        tabPageResult.Controls.Clear();
                        tabPageResult.Controls.Add(grid_Resultado);
                    }
                    else
                    {
                        adicionaMSGErro("Atenção há erros na SQL!");
                    }
                }
                catch (Exception erro)
                {
                    adicionaMSGErro("ERRO: " + erro.Message);
                }
            }
        }