private void tsBB_Executar_Click(object sender, EventArgs e) { string login = Utils.Parametros.pubLogin; if (DS_SQL.ToString().ToUpper().Contains("UPDATE") || DS_SQL.ToString().ToUpper().Contains("INSERT") || DS_SQL.ToString().ToUpper().Contains("DROP") || DS_SQL.ToString().ToUpper().Contains("DELETE") || DS_SQL.ToString().ToUpper().Contains("ALTER")) { if (!CamadaNegocio.Diversos.TCN_Usuario_RegraEspecial.ValidaRegra(Utils.Parametros.pubLogin, "PERMITIR UPDATE", null)) { using (Proc_Commoditties.TFLanSessaoPDV fSessao = new Proc_Commoditties.TFLanSessaoPDV()) { fSessao.Mensagem = "Usuário sem permissão de update"; if (fSessao.ShowDialog() == DialogResult.OK) { if (!CamadaNegocio.Diversos.TCN_Usuario_RegraEspecial.ValidaRegra(fSessao.Usuario, "PERMITIR UPDATE", null)) { MessageBox.Show("Usuário não tem permissão!"); return; } else { login = fSessao.Usuario; } } else { return; } } } } 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 != "") { TCD_SqlEditor cd = new TCD_SqlEditor(); TRegistro_SqlEditor sed = new TRegistro_SqlEditor(); sed.Login = login; sed.DS_Consulta = ConsultaSql; cd.Grava(sed); DataTable dataTable = cd.BuscarSQL(ConsultaSql.Replace("\n", " ").Replace("\t", " ")); if (DS_SQL.ToString().ToUpper().Contains("SELECT")) { 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("Registros afetados: " + cd.tamanho.ToString()); } } else { adicionaMSGErro("Atenção há erros na SQL!"); } } catch (Exception erro) { adicionaMSGErro("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); } } }