예제 #1
0
        public static string GravaConsulta(TRegistro_SqlEditor val, TObjetoBanco banco)
        {
            TCD_SqlEditor cd = new TCD_SqlEditor();

            if (banco != null)
            {
                cd.Banco_Dados = banco;
            }
            return(cd.Grava(val));
        }
예제 #2
0
        public static string DeletaConsulta(TRegistro_SqlEditor val, TObjetoBanco banco)
        {
            bool          st_transacao = false;
            TCD_SqlEditor CD_Consulta  = new TCD_SqlEditor();

            //TCD_Cad_Report_X_Consulta CD_Report_X_Consulta = new TCD_Cad_Report_X_Consulta();
            //TCD_Cad_Filtro CD_Filtro = new TCD_Cad_Filtro();
            //TCD_Cad_Campo_Amarracao CD_Campo_Amarracao = new TCD_Cad_Campo_Amarracao();
            //TCD_Cad_Amarracoes CD_Amarracoes = new TCD_Cad_Amarracoes();
            //TCD_Cad_Ordenacao CD_Ordenacao = new TCD_Cad_Ordenacao();
            //TCD_Cad_Campo CD_Campo = new TCD_Cad_Campo();
            try
            {
                if (banco == null)
                {
                    CD_Consulta.CriarBanco_Dados(true);
                    st_transacao = true;
                }
                else
                {
                    CD_Consulta.Banco_Dados = banco;
                }

                //DELETAR CONSULTA

                /*string retorno = CD_Report_X_Consulta.DeletarReportPorConsulta(val.ID_Consulta);
                 * retorno = CD_Filtro.DeletaPorConsulta(val.ID_Consulta);
                 * retorno = CD_Ordenacao.DeletaPorConsulta(val.ID_Consulta);
                 * retorno = CD_Campo.DeletaTodos(val.ID_Consulta);
                 *
                 * //DELETA AS TABELAS AMARRADAS
                 * TList_Cad_Amarracoes listAmarracoes = TCN_Cad_Amarracoes.Busca(0, val.ID_Consulta);
                 *
                 * for (int i = 0; i < listAmarracoes.Count; i++)
                 * {
                 *  retorno = CD_Campo_Amarracao.DeletaPorAmarracoes(listAmarracoes[i].ID_Amarracoes);
                 * }
                 *
                 * retorno = CD_Amarracoes.DeletaPorConsulta(val.ID_Consulta);
                 */
                //DELETE A CONSULTA
                string retorno = CD_Consulta.Deleta(val);

                if (st_transacao)
                {
                    CD_Consulta.Banco_Dados.Commit_Tran();
                }
                return(retorno);
            }
            catch
            {
                if (st_transacao)
                {
                    CD_Consulta.Banco_Dados.RollBack_Tran();
                }
                return("");
            }
            finally
            {
                if (st_transacao)
                {
                    CD_Consulta.deletarBanco_Dados();
                }
            }
        }
예제 #3
0
        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);
            }
        }