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); } }
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); } } }