Пример #1
0
        public void ExecutaComandoSql(ModelPai model, TipoComando com)
        {
            string nomeProc = "";

            SqlParameter[] parametros = null;
            try
            {
                switch (com)
                {
                case TipoComando.insert:
                    parametros = this.BuscaNomeParametros(model, com);
                    nomeProc   = INICIO_PROC_INSERIR + model.getNomeTabela();
                    break;

                case TipoComando.update:
                    parametros = this.BuscaNomeParametros(model, com);
                    nomeProc   = INICIO_PROC_ALTERAR + model.getNomeTabela();
                    break;

                case TipoComando.delete:
                    parametros = this.BuscaNomeParametrosChavePrimaria(model);
                    nomeProc   = INICIO_PROC_EXCLUIR + model.getNomeTabela();
                    break;
                }
                this.objAcesso.ExecutaProcedure(nomeProc, parametros);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                parametros = null;
            }
        }
Пример #2
0
        private void grid_DoubleClick(object sender, EventArgs e)
        {
            Comando     obj            = bll.get(Convert.ToInt32(grid.Rows[grid.SelectedCells[0].RowIndex].Cells[0].Value.ToString()));
            TipoComando objtipocomando = blltipocomando.get(obj.tipo);

            mostrar(obj, objtipocomando);
        }
        private void btnConfirmar_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtNome.Text))
            {
                MessageBox.Show("Informe o nome do Tipo de Comando!");
                return;
            }

            TipoComando obj = new TipoComando();

            if (string.IsNullOrEmpty(txtCodigo.Text))
            {
                obj.nome       = txtNome.Text;
                obj.dateinsert = DateTime.Now;
                bll.insert(obj);
                MessageBox.Show("Tipo de Comando cadastrado com sucesso!");
            }
            else
            {
                obj.id         = Convert.ToInt32(txtCodigo.Text);
                obj.nome       = txtNome.Text;
                obj.dateupdate = DateTime.Now;
                obj.dateinsert = this.obj.dateinsert;
                bll.update(obj);
                MessageBox.Show("Tipo de Comando atualizado com sucesso!");
            }
            tabControl1.SelectedIndex = 0;
            atualiza("");
        }
Пример #4
0
        public static Ingresso Create(TipoComando ingresso)
        {
            Ingresso resp = null;
            try
            {
                switch (ingresso)
                {
                    case TipoComando.Quit:
                        resp = new QuitIngresso();
                        break;
                    case TipoComando.Peop:
                        resp = new PeopIngresso();
                        break;
                    case TipoComando.Birt:
                        resp = new BirtIngresso();
                        break;
                    case TipoComando.Calc:
                        resp = new CalcIngresso();
                        break;
                    default:
                        resp = null;
                        break;
                        //throw new ArgumentOutOfRangeException();
                }
            }
            catch (Exception)
            {

            }
            return resp;
        }
Пример #5
0
        public static Ingresso Create(TipoComando ingresso)
        {
            Ingresso resp = null;

            try
            {
                switch (ingresso)
                {
                case TipoComando.Quit:
                    resp = new QuitIngresso();
                    break;

                case TipoComando.Peop:
                    resp = new PeopIngresso();
                    break;

                case TipoComando.Birt:
                    resp = new BirtIngresso();
                    break;

                case TipoComando.Calc:
                    resp = new CalcIngresso();
                    break;

                default:
                    resp = null;
                    break;
                    //throw new ArgumentOutOfRangeException();
                }
            }
            catch (Exception)
            {
            }
            return(resp);
        }
        public void ExecutaComandoSql(ModelPai model, TipoComando com)
        {
            string nomeProc = "";
            SqlParameter[] parametros = null;
            try
            {
                switch ( com )
                {
                    case TipoComando.insert:
                    parametros = this.BuscaNomeParametros(model, com);
                    nomeProc = INICIO_PROC_INSERIR + model.getNomeTabela();
                    break;
                    case TipoComando.update:
                    parametros = this.BuscaNomeParametros(model, com);
                    nomeProc = INICIO_PROC_ALTERAR + model.getNomeTabela();
                    break;

                    case TipoComando.delete:
                    parametros = this.BuscaNomeParametrosChavePrimaria(model);
                    nomeProc = INICIO_PROC_EXCLUIR + model.getNomeTabela();
                    break;

                }
                base.ExecutaProcedure(nomeProc, parametros);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                parametros = null;
            }
        }
 public void mostrar(TipoComando obj)
 {
     this.obj                  = obj;
     txtCodigo.Text            = obj.id.ToString();
     txtNome.Text              = obj.nome;
     tabControl1.SelectedIndex = 1;
 }
Пример #8
0
        private static TipoStato CreateMsgIng(string strMsg, TipoStato stato, out Messaggio msg)
        {
            msg = MessaggioFactory.Create(strMsg);
            TipoComando ingresso        = (TipoComando)Enum.Parse(typeof(TipoComando), strMsg.Split(' ')[0], true);
            Ingresso    ing             = IngressoFactory.Create(ingresso);
            TipoStato   statoSuccessivo = ing.CambiaStato(stato);

            return(statoSuccessivo);
        }
Пример #9
0
 public void mostrar(Comando obj, TipoComando objtipocomando)
 {
     this.obj                 = obj;
     txtCodigo.Text           = obj.id.ToString();
     txtCodigoComando.Text    = obj.codigo_comando;
     txtDescricaoComando.Text = obj.descricao_comando;
     if (objtipocomando != null)
     {
         cboTipo.SelectedItem = objtipocomando.id + "-" + objtipocomando.nome;
     }
     tabControl1.SelectedIndex = 1;
 }
Пример #10
0
        private void EjecutarComando(TipoComando sqlCommandType, DetalleEntity entidad)
        {
            OdbcConnection connection = null;
            OdbcCommand    command    = null;

            try {
                connection = (OdbcConnection)connectionDA.GetOpenedConnection();
                IDataParameter paramId = new OdbcParameter("?", OdbcType.Int);
                paramId.Value = entidad.IdDetalle;

                switch (sqlCommandType)
                {
                case TipoComando.Insertar:
                    command = new OdbcCommand(SQLInsert, connection);
                    command.Parameters.Add(paramId);
                    CrearParametros(command, entidad);
                    break;

                case TipoComando.Actualizar:
                    command = new OdbcCommand(SQLUpdate, connection);
                    command.Parameters.Add(paramId);
                    CrearParametros(command, entidad);
                    break;

                case TipoComando.Eliminar:
                    command = new OdbcCommand(SQLDelete, connection);
                    command.Parameters.Add(paramId);
                    CrearParametros(command, entidad);
                    break;

                case TipoComando.Eliminar2:
                    command = new OdbcCommand(SQLDeletePedido, connection);
                    command.Parameters.Add(paramId);
                    CrearParametros(command, entidad);
                    break;
                }

                command.ExecuteNonQuery();
                connection.Close();
            } catch (Exception ex) {
                throw new daException(ex);
            } finally {
                if (command != null)
                {
                    command.Dispose();
                }
                if (connection != null)
                {
                    connection.Dispose();
                }
            }
        }
Пример #11
0
        /// <summary>
        /// Varre o nome dos Parametros que estão no model através dos atributos
        /// </summary>
        /// <returns>Array de SqlParameter com os parametros para as procedures</returns>
        protected SqlParameter[] BuscaNomeParametros(ModelPai modelo, TipoComando tipoCom)
        {
            Type tipo = modelo.GetType();

            SqlParameter[] param = new SqlParameter[tipo.GetProperties().Length];
            object[]       cols;
            object         valor;

            PropertyInfo[] prop;
            try
            {
                prop = tipo.GetProperties();
                //Varre as propriedades
                //---------------------
                for (int contador = 0; contador < prop.Length; contador++)
                {
                    //Atribui os atributos de uma propriedade ao Array cols
                    //-----------------------------------------------------
                    cols = prop[contador].GetCustomAttributes(typeof(ColunasBancoDados), true);
                    if (cols.Length > 0)
                    {
                        ColunasBancoDados colunas = (ColunasBancoDados)cols[0];
                        if (tipoCom == TipoComando.insert)
                        {
                            if (colunas.ChavePrimaria == true && prop[contador].GetValue(modelo, null) == null)
                            {
                                continue;
                            }
                        }
                        valor = prop[contador].GetValue(modelo, null);
                        if (valor == null)
                        {
                            valor = DBNull.Value;
                        }
                        param[contador] = new SqlParameter("@" + colunas.NomeColuna, valor);
                    }
                }
                return(this.AjustaTamanhoArray(param));
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                param = null;
                cols  = null;
                prop  = null;
                valor = null;
            }
        }
Пример #12
0
        /// <summary>
        /// Ejecuta una consulta escalar.
        /// </summary>
        /// <param name="tipo">Tipo de consulta</param>
        /// <param name="cadenaSql">SP: nombre SP, Texto: Cadena de consulta</param>
        /// <param name="parametros">Pares Nombre parametros, Valor parametro</param>
        /// <returns>Devuelve un objeto con un valor escalar a que necesitar ser casteado</returns>
        public static object ejecutarScalar(TipoComando tipo, string cadenaSql, params object[] parametros)
        {
            object    id;
            DbCommand comando;

            //if (!enlazado)
            conectarDB();
            comando = crearComando(tipo, cadenaSql);
            cargarParametros(ref comando, ref parametros);
            id = comando.ExecuteScalar();
            //if (!enlazado)
            desconectarDB();
            return(id);
        }
Пример #13
0
        /// <summary>
        /// Realiza una consulta a una base de datos
        /// </summary>
        /// <param name="tipo">Define el tipo de consulta a realizar. SP, texto, TablaEntera</param>
        /// <param name="cadenaSql">SP: nombre SP, Texto: Cadena de consulta</param>
        /// <param name="parametros">Pares Nombre parametros, Valor parametro</param>
        /// <returns>Devuelve resultas de la consulta en DataReader</returns>
        /// <remarks>IMPORTANTE CERRAR EL DATAREADER AL FINALIZAR SU UTILIZACION</remarks>
        public static DbDataReader ejecutarDataReader(TipoComando tipo, string cadenaSql, params object[] parametros)
        {
            DbCommand    comando;
            DbDataReader resultado;

            //if (!enlazado)
            conectarDB();
            comando = crearComando(tipo, cadenaSql);
            cargarParametros(ref comando, ref parametros);
            //Ejecuto la consulta
            resultado = comando.ExecuteReader();

            return(resultado);
        }
Пример #14
0
        public static bool TryParse(string str, out Messaggio msg)
        {
            bool creata = false;

            try
            {
                string[]    parti   = str.Split(' ');
                TipoComando comando = (TipoComando)Enum.Parse(typeof(TipoComando), parti[0], true);
                msg    = new Messaggio(comando);
                creata = true;
            }
            catch (Exception)
            {
                msg = null;
            }
            return(creata);
        }
Пример #15
0
        /// <summary>
        /// Ejecuta una consulta sin devolucion de resultados.
        /// </summary>
        /// <param name="tipo">Tipo de consulta</param>
        /// <param name="cadenaSql">SP: nombre SP, Texto: Cadena de consulta</param>
        /// <param name="parametros">Pares Nombre parametros, Valor parametro</param>
        /// <returns>Devuelve cantidad de registros afectados</returns>
        public static int ejecutarProceso(TipoComando tipo, string cadenaSql, params object[] parametros)
        {
            int       salida = 0;
            DbCommand comando;

            //if (!enlazado)
            conectarDB();
            comando = crearComando(tipo, cadenaSql);
            //  comando.CommandTimeout = 240;
            cargarParametros(ref comando, ref parametros);
            salida = comando.ExecuteNonQuery();
            //cpereyra - Verificar que si se elemina el comando luego de utilizarlo sigue andando
            //  comando.Dispose();
            //if (!enlazado)
            desconectarDB();
            return(salida);
        }
Пример #16
0
        public static Messaggio Create(string str)
        {
            Messaggio resp = null;

            try
            {
                string      cmd     = str.Substring(0, 4);
                TipoComando cmdEnum = (TipoComando)Enum.Parse(typeof(TipoComando), cmd, true);
                switch (cmdEnum)
                {
                case TipoComando.Quit:
                    resp = Messaggio.Parse(str);
                    break;

                case TipoComando.Peop:
                    resp = MessaggioStringa.Parse(str);
                    break;

                case TipoComando.Birt:
                    resp = MessaggioData.Parse(str);
                    break;

                case TipoComando.Calc:
                    resp = Messaggio.Parse(str);
                    break;

                case TipoComando.Nessuno:
                    resp = null;
                    break;

                default:
                    resp = null;
                    break;
                    //throw new ArgumentOutOfRangeException();
                }
            }
            catch (Exception)
            {
            }
            return(resp);
        }
Пример #17
0
        /// <summary>
        /// Realiza una consulta a una base de datos y devuelve un dataset nuevo
        /// </summary>
        /// <param name="tipo">Define el tipo de consulta a realizar. SP, texto, TablaEntera</param>
        /// <param name="cadenaSql">SP: nombre SP, Texto: Cadena de consulta</param>
        /// <param name="parametros">Pares Nombre parametros, Valor parametro</param>
        /// <returns>Devuelve resultas de la consulta en tablas contenidas en un DataSet</returns>
        public static DataSet ejecutarDataSet(TipoComando tipo, string cadenaSql, params object[] parametros)
        {
            DbCommand     comando;
            DbDataAdapter adaptador = factory.CreateDataAdapter();
            DataSet       resultado = new DataSet();

            //if (!enlazado)
            conectarDB();

            //Instancio los objetos de acuerdo al tipo de motor de bases de datos que se utilice
            try
            {
                comando = crearComando(tipo, cadenaSql);
                //  comando.CommandTimeout = CommandTimeOut;
                cargarParametros(ref comando, ref parametros);
                //Ejecuto la consulta

                adaptador.SelectCommand = comando;
                switch (tipo)
                {
                case TipoComando.SP:
                {
                    adaptador.Fill(resultado, cadenaSql);
                    break;
                }

                default:
                {
                    adaptador.Fill(resultado);
                    break;
                }
                }
                //if (!enlazado)
                desconectarDB();
            }
            catch (DbException ex)
            { RegistrarError(ex); }
            return(resultado);
        }
Пример #18
0
        /// <summary>
        /// Crea un comando de ejecucion en base de datos
        /// </summary>
        /// <param name="tipo">Tipo del comando</param>
        /// <param name="cadenaSql">Cadena del comando</param>
        private static DbCommand crearComando(TipoComando tipo, string cadenaSql)
        {
            DbCommand comando = factory.CreateCommand();

            //asigno los valores del comando a ejecutar
            comando.Connection = conexion;
            switch (tipo)
            {
            case TipoComando.SP:
            {
                comando.CommandType = CommandType.StoredProcedure;
                break;
            }

            case TipoComando.Texto:
            {
                comando.CommandType = CommandType.Text;
                break;
            }
            }
            comando.CommandText    = cadenaSql;
            comando.CommandTimeout = DB.CommandTimeOut;
            return(comando);
        }
Пример #19
0
 // Esegue la coda dei comandi solo se NonQuery
 public bool EseguiComandi(TipoComando tipo, bool svuota_se_err = true)
 {
     string tmp;
     if(tipo == TipoComando.NonQuery)
         return EseguiComandi(tipo, out tmp, svuota_se_err);
     else
         return false;
 }
Пример #20
0
        /// <summary>
        /// Realiza una consulta a una base de datos y llena con el resultado un dataset parasado por referencia
        /// </summary>
        /// <param name="dataset">DataSet instanciado a ser llenado</param>
        /// <param name="tipo">Define el tipo de consulta a realizar. SP, texto, TablaEntera</param>
        /// <param name="cadenaSql">SP: nombre SP, Texto: Cadena de consulta</param>
        /// <param name="parametros">Pares Nombre parametros, Valor parametro</param>
        public static void ejecutarDataSet(ref DataSet dataset, TipoComando tipo, string cadenaSql, params object[] parametros)
        {
            DbCommand comando;
            DbDataAdapter adaptador = factory.CreateDataAdapter();
            //if (!enlazado)
            conectarDB();

            //Instancio los objetos de acuerdo al tipo de motor de bases de datos que se utilice
            try
            {
                comando = crearComando(tipo, cadenaSql);
               // comando.CommandTimeout = CommandTimeOut;
                cargarParametros(ref comando, ref parametros);
                //Ejecuto la consulta

                adaptador.SelectCommand = comando;
                switch (tipo)
                {
                    case TipoComando.SP:
                        {
                            adaptador.Fill(dataset, cadenaSql);
                            break;
                        }
                    default:
                        {
                            adaptador.Fill(dataset);
                            break;
                        }
                }
                //if (!enlazado)
                desconectarDB();
            }
            catch (DbException ex)
            { RegistrarError(ex); }
        }
Пример #21
0
        public static string MontaExpressaoSql(TipoComando TipoExpressao,
                                               string sTabela, string sWhere, List <string> sCamposDesconsiderados,
                                               bool bDesconsideraNullUpdate, DataRow registro)
        {
            StringBuilder strExpressao = new StringBuilder();
            StringBuilder str1         = new StringBuilder();
            StringBuilder str2         = null;
            string        sValor;
            bool          bUsaWhere = (!sWhere.Trim().Equals(String.Empty));
            bool          bContinua;

            if (TipoExpressao == TipoComando.Insert)
            {
                strExpressao.Append("INSERT INTO " + sTabela);
                str2 = new StringBuilder();
            }
            else
            {
                if (bUsaWhere)
                {
                    if (TipoExpressao == TipoComando.Update)
                    {
                        strExpressao.Append("UPDATE " + sTabela + " SET ");
                    }
                    else if (TipoExpressao == TipoComando.Delete)
                    {
                        strExpressao.Append("DELETE FROM " + sTabela);
                    }
                }
            }

            if (strExpressao.Length == 0)
            {
                return(String.Empty);
            }

            if ((TipoExpressao == TipoComando.Insert) ||
                (TipoExpressao == TipoComando.Update))
            {
                string sCampo;

                foreach (DataColumn campo in registro.Table.Columns)
                {
                    try
                    {
                        sCampo = campo.ColumnName;
                        if (sCampo.StartsWith("CAMPO"))
                        {
                            continue;
                        }
                        if ((sCamposDesconsiderados != null) &&
                            (sCamposDesconsiderados.Contains(sCampo)))
                        {
                            continue;
                        }
                        if (campo.DataType.Equals(typeof(System.Byte[])))
                        {
                            continue;
                        }

                        sValor = HlpDbFuncoesGeral.RetornaStrValor(registro[campo], campo);
                        if (campo.ToString().ToUpper().Equals("ST_LIBERADO_TOTALMENTE") && sValor.Equals("NULL"))
                        {
                            sValor = "'A'";
                        }
                        if (TipoExpressao == TipoComando.Insert)
                        {
                            //Renato - 25/09/2003 - OS 10603
                            if (!sValor.Equals("NULL"))
                            {
                                if (str1.Length > 0)
                                {
                                    str1.Append(',');
                                }
                                str1.Append(sCampo);
                                if (str2.Length > 0)
                                {
                                    str2.Append(',');
                                }
                                str2.Append(sValor);
                            }
                            ////////////////////////////////
                        }
                        else
                        {
                            bContinua = (!bDesconsideraNullUpdate);
                            if (!bContinua)
                            {
                                bContinua = (!sValor.Equals("NULL"));
                            }
                            if (bContinua)
                            {
                                if (str1.Length > 0)
                                {
                                    str1.Append(',');
                                }
                                str1.Append(" " + sCampo + " = " + sValor);
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                }
            }

            if (TipoExpressao == TipoComando.Insert)
            {
                if ((str1.Length > 0) && (str2.Length > 0))
                {
                    strExpressao.Append(" (" + str1.ToString() + ") VALUES (");
                    strExpressao.Append(str2.ToString());
                    strExpressao.Append(")");
                }
                else
                {
                    strExpressao.Length = 0;
                }
            }
            else if (TipoExpressao == TipoComando.Update)
            {
                if (str1.Length > 0)
                {
                    strExpressao.Append(str1.ToString());
                }
                else
                {
                    strExpressao.Length = 0;
                }
            }

            if ((strExpressao.Length > 0) && (bUsaWhere))
            {
                strExpressao.Append(" WHERE " + sWhere);
            }
            return(strExpressao.ToString());
        }
Пример #22
0
        // Esegue la coda di comandi
        public bool EseguiComandi(TipoComando tipo, out string risposta, bool svuota_se_err = true)
        {
            StringBuilder strbRisposta = new StringBuilder();
            bool ok = true;
            string tmpCmd = "";
            string tmpRsp;
            while(comandi.Count>0)
                {
                tmpCmd = comandi.Dequeue();
                bool bCmd;
                switch(tipo)
                    {
                    case TipoComando.Scalar:
                        {
                        bCmd = EseguiScalare(tmpCmd, out tmpRsp);
                        }
                        break;
                    case TipoComando.NonQuery:
                        {
                        bCmd = EseguiNonQuery(tmpCmd);
                        tmpRsp = "";
                        }
                        break;
                    default:
                        {
                        bCmd = false;
                        tmpRsp = "";
                        }
                        break;
                    }
                if(bCmd)
                    {
                    if(tmpRsp.Length>0)
                        {
                        strbRisposta.Append(tmpRsp);
                        strbRisposta.Append('\n');
                        }
                    }
                else
                    {
                    ok = false;
                    if(svuota_se_err)
                        comandi.Clear();
                    }

                }
            risposta = strbRisposta.ToString();
            return ok;
        }
Пример #23
0
 public MessaggioData(TipoComando comando, DateTime data)
     : base(comando)
 {
     Data = data;
 }
Пример #24
0
 public Messaggio(TipoComando comando)
 {
     Comando = comando;
 }
Пример #25
0
        public static string MontaExpressaoSql(TipoComando TipoExpressao,
            string sTabela, string sWhere, List<string> sCamposDesconsiderados,
            bool bDesconsideraNullUpdate, DataRow registro)
        {
            StringBuilder strExpressao = new StringBuilder();
            StringBuilder str1 = new StringBuilder();
            StringBuilder str2 = null;
            string sValor;
            bool bUsaWhere = (!sWhere.Trim().Equals(String.Empty));
            bool bContinua;

            if (TipoExpressao == TipoComando.Insert)
            {
                strExpressao.Append("INSERT INTO " + sTabela);
                str2 = new StringBuilder();
            }
            else
            {
                if (bUsaWhere)
                {
                    if (TipoExpressao == TipoComando.Update)
                        strExpressao.Append("UPDATE " + sTabela + " SET ");
                    else if (TipoExpressao == TipoComando.Delete)
                        strExpressao.Append("DELETE FROM " + sTabela);
                }
            }

            if (strExpressao.Length == 0)
                return String.Empty;

            if ((TipoExpressao == TipoComando.Insert) ||
                (TipoExpressao == TipoComando.Update))
            {
                string sCampo;

                foreach (DataColumn campo in registro.Table.Columns)
                {
                    try
                    {
                        sCampo = campo.ColumnName;
                        if (sCampo.StartsWith("CAMPO"))
                            continue;
                        if ((sCamposDesconsiderados != null) &&
                            (sCamposDesconsiderados.Contains(sCampo)))
                            continue;
                        if (campo.DataType.Equals(typeof(System.Byte[])))
                            continue;

                        sValor = HlpDbFuncoesGeral.RetornaStrValor(registro[campo], campo);
                        if (campo.ToString().ToUpper().Equals("ST_LIBERADO_TOTALMENTE") && sValor.Equals("NULL"))
                            sValor = "'A'";
                        if (TipoExpressao == TipoComando.Insert)
                        {
                            //Renato - 25/09/2003 - OS 10603
                            if (!sValor.Equals("NULL"))
                            {
                                if (str1.Length > 0)
                                    str1.Append(',');
                                str1.Append(sCampo);
                                if (str2.Length > 0)
                                    str2.Append(',');
                                str2.Append(sValor);
                            }
                            ////////////////////////////////
                        }
                        else
                        {
                            bContinua = (!bDesconsideraNullUpdate);
                            if (!bContinua)
                                bContinua = (!sValor.Equals("NULL"));
                            if (bContinua)
                            {
                                if (str1.Length > 0)
                                    str1.Append(',');
                                str1.Append(" " + sCampo + " = " + sValor);
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                }
            }

            if (TipoExpressao == TipoComando.Insert)
            {
                if ((str1.Length > 0) && (str2.Length > 0))
                {
                    strExpressao.Append(" (" + str1.ToString() + ") VALUES (");
                    strExpressao.Append(str2.ToString());
                    strExpressao.Append(")");
                }
                else
                    strExpressao.Length = 0;
            }
            else if (TipoExpressao == TipoComando.Update)
            {
                if (str1.Length > 0)
                    strExpressao.Append(str1.ToString());
                else
                    strExpressao.Length = 0;
            }

            if ((strExpressao.Length > 0) && (bUsaWhere))
                strExpressao.Append(" WHERE " + sWhere);
            return strExpressao.ToString();
        }
        public string SqlSentencia(TipoComando TipoSql, string[] Fields, string[] Values, TipoCampo[] Tipo, string From, string Where, string Order, int NumFields)
        {
            string cFields = string.Empty;
            string cSql    = string.Empty;

            try
            {
                switch (TipoSql)
                {
                case TipoComando.Select:
                    for (int i = 0; i < NumFields; i++)
                    {
                        if ((i + 1) < NumFields)
                        {
                            cFields = cFields + Fields[i].ToString() + ", ";
                        }
                        else
                        {
                            cFields = cFields + Fields[i].ToString();
                        }
                    }
                    cSql = "  SELECT ";
                    if (NumFields == 0)
                    {
                        cSql = cSql + " * ";
                    }
                    else
                    {
                        cSql = cSql + cFields + " ";
                    }
                    cSql = cSql + " FROM " + From + " ";
                    if (Where != null)
                    {
                        cSql = cSql + " WHERE " + Where + " ";
                    }
                    if (Order != null)
                    {
                        cSql = cSql + " ORDER BY " + Order;
                    }
                    break;

                case TipoComando.Update:
                    for (int i = 0; i < NumFields; i++)
                    {
                        if ((i + 1) < NumFields)
                        {
                            if (Tipo[i].Equals(TipoCampo.String) || Tipo[i].Equals(TipoCampo.DateTime))
                            {
                                cFields = cFields + Fields[i].ToString() + " = '" + Values[i].ToString() + "', ";
                            }
                            else
                            {
                                cFields = cFields + Fields[i].ToString() + " = " + Values[i].ToString() + ", ";
                            }
                        }
                        else
                        {
                            if (Tipo[i].Equals(TipoCampo.String) || Tipo[i].Equals(TipoCampo.DateTime))
                            {
                                cFields = cFields + Fields[i].ToString() + " = '" + Values[i].ToString() + "' ";
                            }
                            else
                            {
                                cFields = cFields + Fields[i].ToString() + " = " + Values[i].ToString();
                            }
                        }
                    }
                    cSql = "  UPDATE " + From + " SET " + cFields;
                    if (Where != null)
                    {
                        cSql = cSql + " WHERE " + Where;
                    }
                    break;

                case TipoComando.Insert:
                    cFields = "(";
                    for (int i = 0; i < NumFields; i++)
                    {
                        if ((i + 1) < NumFields)
                        {
                            cFields = cFields + Fields[i].ToString() + ", ";
                        }
                        else
                        {
                            cFields = cFields + Fields[i].ToString();
                        }
                    }
                    cFields = cFields + ") VALUES (";
                    for (int i = 0; i < NumFields; i++)
                    {
                        if ((i + 1) < NumFields)
                        {
                            if (Tipo[i].Equals(TipoCampo.String) || Tipo[i].Equals(TipoCampo.DateTime))
                            {
                                cFields = cFields + " '" + Values[i].ToString() + "', ";
                            }
                            else
                            {
                                cFields = cFields + Values[i].ToString() + ", ";
                            }
                        }
                        else
                        {
                            if (Tipo[i].Equals(TipoCampo.String) || Tipo[i].Equals(TipoCampo.DateTime))
                            {
                                cFields = cFields + " '" + Values[i].ToString() + "' ";
                            }
                            else
                            {
                                cFields = cFields + Values[i].ToString();
                            }
                        }
                    }

                    cFields = cFields + ")";
                    cSql    = "  INSERT INTO " + From + " " + cFields;
                    if (Where != null)
                    {
                        cSql = cSql + " WHERE " + Where;
                    }
                    break;

                case TipoComando.Delete:
                    cSql = "  DELETE " + From + " ";
                    if (Where != null)
                    {
                        cSql = cSql + " WHERE " + Where;
                    }
                    break;
                }
                return(cSql);
            }
            catch (Exception ex)
            {
                ExceptionHandled.Publicar(ex);
                throw new Exception(ex.Message);
            }
        }
 /// <summary>
 /// Varre o nome dos Parametros que estão no model através dos atributos
 /// </summary>
 /// <returns>Array de SqlParameter com os parametros para as procedures</returns>
 protected SqlParameter[] BuscaNomeParametros(ModelPai modelo, TipoComando tipoCom)
 {
     Type tipo = modelo.GetType();
     SqlParameter[] param = new SqlParameter[tipo.GetProperties().Length];
     object[] cols;
     object valor;
     PropertyInfo[] prop;
     try
     {
         prop = tipo.GetProperties();
         //Varre as propriedades
         //---------------------
         for (int contador = 0; contador < prop.Length; contador++)
         {
             //Atribui os atributos de uma propriedade ao Array cols
             //-----------------------------------------------------
             cols = prop[contador].GetCustomAttributes(typeof(ColunasBancoDados), true);
             if (cols.Length > 0)
             {
                 ColunasBancoDados colunas = (ColunasBancoDados)cols[0];
                 if (tipoCom == TipoComando.insert)
                 {
                     if (colunas.ChavePrimaria == true && prop[contador].GetValue(modelo, null) == null)
                     {
                         continue;
                     }
                 }
                 valor = prop[contador].GetValue(modelo, null);
                 if (valor == null)
                     valor = DBNull.Value;
                 param[contador] = new SqlParameter("@" + colunas.NomeColuna, valor);
             }
         }
         return this.AjustaTamanhoArray(param);
     }
     catch (Exception ex)
     {
         throw ex;
     }
     finally
     {
         param = null;
         cols = null;
         prop = null;
         valor = null;
     }
 }
Пример #28
0
 public MessaggioData(TipoComando comando, DateTime data) : base(comando)
 {
     Data = data;
 }
Пример #29
0
        /// <summary>
        /// Realiza una consulta a una base de datos
        /// </summary>
        /// <param name="tipo">Define el tipo de consulta a realizar. SP, texto, TablaEntera</param>
        /// <param name="cadenaSql">SP: nombre SP, Texto: Cadena de consulta</param>
        /// <param name="parametros">Pares Nombre parametros, Valor parametro</param>
        /// <returns>Devuelve resultas de la consulta en DataReader</returns>
        /// <remarks>IMPORTANTE CERRAR EL DATAREADER AL FINALIZAR SU UTILIZACION</remarks>
        public static DbDataReader ejecutarDataReader(TipoComando tipo, string cadenaSql, params object[] parametros)
        {
            DbCommand comando;
            DbDataReader resultado;
            //if (!enlazado)
            conectarDB();
            comando = crearComando(tipo, cadenaSql);
            cargarParametros(ref comando, ref parametros);
            //Ejecuto la consulta
            resultado = comando.ExecuteReader();

            return resultado;
        }
Пример #30
0
 public Messaggio(TipoComando comando)
 {
     Comando = comando;
 }
Пример #31
0
 public MessaggioStringa(TipoComando comando, string stringa) : base(comando)
 {
     Stringa = stringa;
 }
Пример #32
0
        /// <summary>
        /// Crea un comando de ejecucion en base de datos
        /// </summary>
        /// <param name="tipo">Tipo del comando</param>
        /// <param name="cadenaSql">Cadena del comando</param>
        private static DbCommand crearComando(TipoComando tipo, string cadenaSql)
        {
            DbCommand comando = factory.CreateCommand();

            //asigno los valores del comando a ejecutar
            comando.Connection = conexion;
            switch (tipo)
            {
                case TipoComando.SP:
                    {
                        comando.CommandType = CommandType.StoredProcedure;
                        break;
                    }
                case TipoComando.Texto:
                    {
                        comando.CommandType = CommandType.Text;
                        break;
                    }
            }
            comando.CommandText = cadenaSql;
            comando.CommandTimeout = DB.CommandTimeOut;
            return comando;
        }
Пример #33
0
        DbDataReader ejecutarDataReader(TipoComando tipo, string cadenaSql, params object[] parametros)
        {
            DbCommand comando;
            DbDataReader resultado;
            //if (!enlazado)
            Conectar ();
            comando = crearComando (tipo, cadenaSql);
            cargarParametros (comando, parametros);
            //Ejecuto la consulta
            resultado = comando.ExecuteReader (CommandBehavior.CloseConnection);

            return resultado;
        }
Пример #34
0
 public MessaggioStringa(TipoComando comando, string stringa)
     : base(comando)
 {
     Stringa = stringa;
 }
Пример #35
0
 /// <summary>
 /// Ejecuta una consulta sin devolucion de resultados.
 /// </summary>
 /// <param name="tipo">Tipo de consulta</param>
 /// <param name="cadenaSql">SP: nombre SP, Texto: Cadena de consulta</param>
 /// <param name="parametros">Pares Nombre parametros, Valor parametro</param>
 /// <returns>Devuelve cantidad de registros afectados</returns>
 public static int ejecutarProceso(TipoComando tipo, string cadenaSql, params object[] parametros)
 {
     int salida = 0;
     DbCommand comando;
     //if (!enlazado)
     conectarDB();
     comando = crearComando(tipo, cadenaSql);
       //  comando.CommandTimeout = 240;
     cargarParametros(ref comando, ref parametros);
     salida = comando.ExecuteNonQuery();
     //cpereyra - Verificar que si se elemina el comando luego de utilizarlo sigue andando
       //  comando.Dispose();
     //if (!enlazado)
     desconectarDB();
     return salida;
 }
Пример #36
0
 /// <summary>
 /// Ejecuta una consulta escalar.
 /// </summary>
 /// <param name="tipo">Tipo de consulta</param>
 /// <param name="cadenaSql">SP: nombre SP, Texto: Cadena de consulta</param>
 /// <param name="parametros">Pares Nombre parametros, Valor parametro</param>
 /// <returns>Devuelve un objeto con un valor escalar a que necesitar ser casteado</returns>
 public static object ejecutarScalar(TipoComando tipo, string cadenaSql, params object[] parametros)
 {
     object id;
     DbCommand comando;
     //if (!enlazado)
     conectarDB();
     comando = crearComando(tipo, cadenaSql);
     cargarParametros(ref comando, ref parametros);
     id = comando.ExecuteScalar();
     //if (!enlazado)
     desconectarDB();
     return id;
 }
Пример #37
0
 public int ejecutarProceso(TipoComando tipo, string cadenaSql, params object[] parametros)
 {
     int cant;
     DbCommand comando;
     //if (!enlazado)
     Conectar ();
     comando = crearComando (tipo, cadenaSql);
     //  comando.CommandTimeout = 240;
     cargarParametros (comando, parametros);
     cant = comando.ExecuteNonQuery ();
     //cpereyra - Verificar que si se elemina el comando luego de utilizarlo sigue andando
     comando.Dispose ();
     //if (!enlazado)
     Desconectar ();
     return cant;
 }