예제 #1
0
        public double HallaCodigoTabla(string c_Tabla, string c_CampoId, OleDbConnection xConeccion)
        {
            DataTable DtResult = new DataTable();
            string    c_Sql;
            double    n_Valor;

            Comunes.Funciones objFun = new Comunes.Funciones();

            c_Sql    = "SELECT MAX(" + c_CampoId + ") AS miid FROM " + c_Tabla + "";
            DtResult = DtLLenar(c_Sql, xConeccion);

            if (DtResult.Rows.Count == 1)
            {
                n_Valor = Convert.ToDouble(objFun.NulosN(Convert.ToDouble(DtResult.Rows[0]["miid"].ToString()))) + 1;
            }
            else
            {
                n_Valor = 1;
            }
            return(n_Valor);
        }
예제 #2
0
        //*********************************************************************************************
        //** NOMBRE      : StoreEjecutar
        //** TIPO        : Metodo
        //** DESCRIPCION : Ejecuta un store en el motor de datos, los valores para el store los recoje del ibjeto entidad,
        //**               para ello lee el objeto y obtiene el nombre del parametro, tipo de dato y el valor
        //** PARAMETROS  :
        //**               TIPO           |  NOMBRE            | DESCRIPCION
        //**               ------------------------------------------------
        //**               string         |  StrNombreStore    | Nombre del Procedimiento Almacenado a ejecutar
        //**               object         |  Entidad           | Objeto de tipo Entdad
        //**               MySqlConnection|  mysConeccion      | Coneccion MySql
        //**               int            |  intPocisionEntity | Indica la posicion del elemento que actuara como Identity de la tabla
        //** SINTAXIS    :
        //**               BE_MAE_RETENCION entRetencion = new BE_MAE_RETENCION();
        //**
        //**               entRetencion.n_idret = 4;
        //**               entRetencion.c_des = "Mi descripcion";
        //**               entRetencion.n_tas = 444;
        //**               entRetencion.n_idcueconcom = 444;
        //**               entRetencion.n_idcueconven = 444;
        //**
        //**               StoreEjecutar("mi_procedimieto", entRetencion, MiConeccionMySQL, 0)
        //**
        //** DEVUELVE    : Boolean
        //*********************************************************************************************
        public bool StoreEjecutar(string StrNombreStore, object ObjEntidad, MySqlConnection mysConeccion, int?intPocisionEntity)
        {
            bool bolOk = false;

            int iFila = 0;
            int IntNumeroElementos;

            Comunes.Funciones MiFun = new Comunes.Funciones();
            string[,] arrParametros = new string[100, 3];

            arrParametros = MiFun.CrearParametros(ObjEntidad);

            try
            {
                //DbParameter dbParameter
                MySqlDataAdapter adapter = new MySqlDataAdapter();
                MySqlCommand     cmd     = new MySqlCommand(StrNombreStore, mysConeccion);
                cmd.CommandType = CommandType.StoredProcedure;

                IntNumeroElementos = Convert.ToInt32(arrParametros.GetLongLength(0));

                for (iFila = 0; iFila <= IntNumeroElementos - 1; iFila++)
                {
                    if (arrParametros[iFila, 1].ToUpper() == "SYSTEM.INT64")
                    {
                        cmd.Parameters.Add(arrParametros[iFila, 0], MySqlDbType.Int64);

                        if (intPocisionEntity != null)
                        {
                            if (iFila == intPocisionEntity)
                            {
                                cmd.Parameters[iFila].Direction = ParameterDirection.Output;
                            }
                            else
                            {
                                cmd.Parameters[arrParametros[iFila, 0]].Value = Convert.ToInt32(arrParametros[iFila, 2]);
                            }
                        }
                        else
                        {
                            cmd.Parameters[arrParametros[iFila, 0]].Value = Convert.ToInt32(arrParametros[iFila, 2]);
                        }
                    }

                    if ((arrParametros[iFila, 1].ToUpper() == "SYSTEM.INT32") || (arrParametros[iFila, 1].ToUpper() == "SYSTEM.INT16"))
                    {
                        //cmd.Parameters.Add(arrParametros[iFila, 0], MySqlDbType.Int32);
                        //if (arrParametros[iFila, 2] == "null")
                        //{
                        //    cmd.Parameters[arrParametros[iFila, 0]].Value = null;
                        //}
                        //else
                        //{
                        //    cmd.Parameters[arrParametros[iFila, 0]].Value = Convert.ToInt32(arrParametros[iFila, 2]);
                        //}

                        cmd.Parameters.Add(arrParametros[iFila, 0], MySqlDbType.Int32);

                        if (intPocisionEntity != null)
                        {
                            if (iFila == intPocisionEntity)
                            {
                                cmd.Parameters[iFila].Direction = ParameterDirection.Output;
                            }
                            else
                            {
                                if (arrParametros[iFila, 2] != "null")
                                {
                                    cmd.Parameters[arrParametros[iFila, 0]].Value = Convert.ToInt32(arrParametros[iFila, 2]);
                                }
                                else
                                {
                                    cmd.Parameters[arrParametros[iFila, 0]].Value = null;
                                }
                            }
                        }
                        else
                        {
                            if (arrParametros[iFila, 2] != "null")
                            {
                                cmd.Parameters[arrParametros[iFila, 0]].Value = Convert.ToInt32(arrParametros[iFila, 2]);
                            }
                            else
                            {
                                cmd.Parameters[arrParametros[iFila, 0]].Value = null;
                            }
                        }
                    }

                    if (arrParametros[iFila, 1].ToUpper() == "SYSTEM.DOUBLE")
                    {
                        cmd.Parameters.Add(arrParametros[iFila, 0], MySqlDbType.Decimal);
                        if (arrParametros[iFila, 2] == "null")
                        {
                            cmd.Parameters[arrParametros[iFila, 0]].Value = null;
                        }
                        else
                        {
                            cmd.Parameters[arrParametros[iFila, 0]].Value = Convert.ToDouble(arrParametros[iFila, 2]);
                        }
                    }

                    if (arrParametros[iFila, 1].ToUpper() == "SYSTEM.STRING")
                    {
                        cmd.Parameters.Add(arrParametros[iFila, 0], MySqlDbType.VarChar);
                        if (arrParametros[iFila, 2] == "")
                        {
                            if (arrParametros[iFila, 0].Substring(1, 1) == "h")
                            {
                                cmd.Parameters[arrParametros[iFila, 0]].Value = "null";
                            }
                            else
                            {
                                cmd.Parameters[arrParametros[iFila, 0]].Value = null;
                            }
                        }
                        else
                        {
                            if (arrParametros[iFila, 0].Substring(1, 1) == "h")
                            {
                                if (arrParametros[iFila, 2] == "null")
                                {
                                    cmd.Parameters[arrParametros[iFila, 0]].Value = null;
                                }
                                else
                                {
                                    cmd.Parameters[arrParametros[iFila, 0]].Value = Convert.ToDateTime(arrParametros[iFila, 2]).ToString("HH:mm:ss").Substring(0, 8);
                                }
                            }
                            else
                            {
                                cmd.Parameters[arrParametros[iFila, 0]].Value = Convert.ToString(arrParametros[iFila, 2]);
                            }
                        }
                    }

                    if (arrParametros[iFila, 1].ToUpper() == "SYSTEM.TEXT")
                    {
                        cmd.Parameters.Add(arrParametros[iFila, 0], MySqlDbType.Text);
                        if (arrParametros[iFila, 2] == "null")
                        {
                            cmd.Parameters[arrParametros[iFila, 0]].Value = null;
                        }
                        else
                        {
                            cmd.Parameters[arrParametros[iFila, 0]].Value = Convert.ToString(arrParametros[iFila, 2]);
                        }
                    }
                    if (arrParametros[iFila, 1].ToUpper() == "SYSTEM.BYTE")
                    {
                        cmd.Parameters.Add(arrParametros[iFila, 0], MySqlDbType.MediumBlob);
                        cmd.Parameters[arrParametros[iFila, 0]].Value = Convert.ToString(arrParametros[iFila, 2]);
                    }
                    if (arrParametros[iFila, 1].ToUpper() == "SYSTEM.DATETIME")
                    {
                        if (arrParametros[iFila, 2] == "null")
                        {
                            if (arrParametros[iFila, 0].Substring(1, 1) == "d")
                            {
                                // SI EL CAMPO ES DE TIPO FECHA
                                cmd.Parameters.Add(arrParametros[iFila, 0], MySqlDbType.Date);
                            }
                            //else
                            //{
                            //    // SI EL CAMPO ES DE TIPO HORA
                            //    cmd.Parameters.Add(arrParametros[iFila, 0], MySqlDbType.Time);
                            //    //cmd.Parameters[arrParametros[iFila, 0]].Value = "00:00:00";
                            //}
                            cmd.Parameters[arrParametros[iFila, 0]].Value = null;
                        }
                        else
                        {
                            if (arrParametros[iFila, 0].Substring(1, 1) == "d")
                            {
                                // SI EL CAMPO ES DE TIPO FECHA
                                cmd.Parameters.Add(arrParametros[iFila, 0], MySqlDbType.Date);
                                cmd.Parameters[arrParametros[iFila, 0]].Value = Convert.ToDateTime(arrParametros[iFila, 2]).ToString("yyyy-MM-dd");
                            }
                            //else
                            //{
                            //    // SI EL CAMPO ES DE TIPO HORA
                            //    cmd.Parameters.Add(arrParametros[iFila, 0], MySqlDbType.VarChar);
                            //    cmd.Parameters[arrParametros[iFila, 0]].Value = Convert.ToDateTime(arrParametros[iFila, 2]).ToString("HH:mm:ss").Substring(0,8);
                            //}
                        }
                    }
                }

                cmd.ExecuteNonQuery();

                //for (iFila = 0; iFila <= IntNumeroElementos - 1; iFila++)
                //{
                //    if (cmd.Parameters[iFila].Direction ==  ParameterDirection.Output)
                //    {
                //        intIdGenerado = Int64.Parse(cmd.Parameters[iFila].Value.ToString());
                //    }
                //}

                foreach (MySqlParameter parameter in cmd.Parameters)
                {
                    if (parameter.Direction == ParameterDirection.Output)
                    {
                        intIdGenerado = Int64.Parse(parameter.Value.ToString());
                    }
                }

                adapter.SelectCommand = cmd;
                bolOk = true;
                return(bolOk);
            }
            catch (Exception ex)
            {
                booOcurrioError = true;                  // INDICA QUE EXISTE ERROR
                IntErrorNumber  = ex.HResult;            // INDICA EL NUMERO DE ERROR
                StrErrorMensaje = ex.Message;            // ENVIA EM MENSAJE DE ERROR
                return(bolOk);
            }
        }
예제 #3
0
        //*********************************************************************************************
        //** NOMBRE      : StoreEjecutar
        //** TIPO        : Metodo
        //** DESCRIPCION : Ejecuta un store en el motor de datos
        //** PARAMETROS  :
        //**               TIPO           |  NOMBRE          | DESCRIPCION
        //**               ----------------------------------------------
        //**               string         |  StrNombreStore  | Nombre del Procedimiento Almacenado a ejecutar
        //**               string[N,3]    |  arrParametros   | Array de parametros que requiere el Procedimiento Almacenado
        //**                                                   [0,0]  = Indica el nombre del parametro del Procedimiento Almacenado
        //**                                                   [0,1]  = Indica el tipo de dato del Procedimiento Almacenado
        //**                                                   [0,2]  = Indica el Valor que se le pasara al parametro
        //**               MySqlConnection|  mysConeccion    | Coneccion MySql
        //**
        //** SINTAXIS    :
        //**               string[,] arrParametros = new string[1, 3] {
        //**                                                              {"n_idret", "SYSTEM.INT16", intRetencionId.ToString()}
        //**                                                          };
        //**               StoreEjecutar("mi_procedimieto"), arrParametros, MiConeccionMySQL)
        //**
        //** DEVUELVE    : Boolean
        //*********************************************************************************************
        public bool StoreEjecutar(string StrNombreStore, string[,] arrParametros, MySqlConnection mysConeccion)
        {
            bool bolOk = false;
            int  iFila = 0;
            int  IntNumeroElementos;

            Comunes.Funciones MiFun = new Comunes.Funciones();

            try
            {
                MySqlDataAdapter adapter = new MySqlDataAdapter();
                MySqlCommand     cmd     = new MySqlCommand(StrNombreStore, mysConeccion);
                cmd.CommandType = CommandType.StoredProcedure;

                IntNumeroElementos = Convert.ToInt32(arrParametros.GetLongLength(0));

                for (iFila = 0; iFila <= IntNumeroElementos - 1; iFila++)
                {
                    if ((arrParametros[iFila, 1].ToUpper() == "SYSTEM.INT32") || (arrParametros[iFila, 1].ToUpper() == "SYSTEM.INT16") || (arrParametros[iFila, 1].ToUpper() == "SYSTEM.INT64"))
                    {
                        cmd.Parameters.Add(arrParametros[iFila, 0], MySqlDbType.Int32);
                        if (arrParametros[iFila, 2] == "null")
                        {
                            cmd.Parameters[arrParametros[iFila, 0]].Value = null;
                        }
                        else
                        {
                            cmd.Parameters[arrParametros[iFila, 0]].Value = Convert.ToInt32(arrParametros[iFila, 2]);
                        }
                    }

                    if (arrParametros[iFila, 1].ToUpper() == "SYSTEM.DOUBLE")
                    {
                        cmd.Parameters.Add(arrParametros[iFila, 0], MySqlDbType.Decimal);
                        if (arrParametros[iFila, 2] == "null")
                        {
                            cmd.Parameters[arrParametros[iFila, 0]].Value = null;
                        }
                        else
                        {
                            cmd.Parameters[arrParametros[iFila, 0]].Value = Convert.ToDouble(arrParametros[iFila, 2]);
                        }
                    }

                    if (arrParametros[iFila, 1].ToUpper() == "SYSTEM.STRING")
                    {
                        cmd.Parameters.Add(arrParametros[iFila, 0], MySqlDbType.VarChar);
                        cmd.Parameters[arrParametros[iFila, 0]].Value = Convert.ToString(arrParametros[iFila, 2]);
                    }

                    if (arrParametros[iFila, 1].ToUpper() == "SYSTEM.DATETIME")
                    {
                        cmd.Parameters.Add(arrParametros[iFila, 0], MySqlDbType.Date);

                        if (arrParametros[iFila, 2] == "null")
                        {
                            cmd.Parameters[arrParametros[iFila, 0]].Value = null;
                        }
                        else
                        {
                            cmd.Parameters[arrParametros[iFila, 0]].Value = Convert.ToDateTime(arrParametros[iFila, 2]);
                        }
                    }
                }

                cmd.ExecuteNonQuery();

                adapter.SelectCommand = cmd;
                bolOk = true;
                return(bolOk);
            }
            catch (Exception ex)
            {
                booOcurrioError = true;                  // INDICA QUE EXISTE ERROR
                IntErrorNumber  = ex.HResult;            // INDICA EL NUMERO DE ERROR
                StrErrorMensaje = ex.Message;            // ENVIA EM MENSAJE DE ERROR
                return(bolOk);
            }
        }
예제 #4
0
        //*********************************************************************************************
        //** NOMBRE      : StoreDTLLenar
        //** TIPO        : Metodo
        //** DESCRIPCION : Ejecuta un store en el motor de datos y devuelve un DataTable con los datos recuperados
        //** PARAMETROS  :
        //**               TIPO           |  NOMBRE          | DESCRIPCION
        //**               ----------------------------------------------
        //**               string         |  StrNombreStore  | Nombre del Procedimiento Almacenado a ejecutar
        //**               string[N,3]    |  arrParametros   | Array de parametros que requiere el Procedimiento Almacenado
        //**                                                   [0,0]  = Indica el nombre del parametro del Procedimiento Almacenado
        //**                                                   [0,1]  = Indica el tipo de dato del Procedimiento Almacenado
        //**                                                   [0,2]  = Indica el Valor que se le pasara al parametro
        //**               MySqlConnection|  mysConeccion    | Coneccion MySql
        //**
        //** SINTAXIS    :
        //**               string[,] arrParametros = new string[1, 3] {
        //**                                                              {"n_idret", "SYSTEM.INT16", intRetencionId.ToString()}
        //**                                                          };
        //**               StoreDTLLenar("mi_procedimieto"), arrParametros, MiConeccionMySQL)
        //**
        //** DEVUELVE    : DataTable
        //*********************************************************************************************
        public DataTable StoreDTLLenar(string StrNombreStore, string[,] arrParametros, MySqlConnection mysConeccion)
        {
            int iFila = 0;
            int IntNumeroElementos;

            Comunes.Funciones MiFun   = new Comunes.Funciones();
            DataTable         DtResul = new DataTable();

            IntErrorNumber = 0;

            try
            {
                MySqlDataAdapter adapter = new MySqlDataAdapter();

                MySqlCommand cmd = new MySqlCommand(StrNombreStore, mysConeccion);
                cmd.CommandType    = CommandType.StoredProcedure;
                cmd.CommandTimeout = 1200000;

                IntNumeroElementos = Convert.ToInt32(arrParametros.GetLongLength(0));

                if (IntNumeroElementos != 0)
                {
                    for (iFila = 0; iFila <= IntNumeroElementos - 1; iFila++)
                    {
                        if ((arrParametros[iFila, 1].ToUpper() == "SYSTEM.INT32") || (arrParametros[iFila, 1].ToUpper() == "SYSTEM.INT16") || (arrParametros[iFila, 1].ToUpper() == "SYSTEM.INT64"))
                        {
                            cmd.Parameters.Add(arrParametros[iFila, 0], MySqlDbType.Int32);
                            if (arrParametros[iFila, 2] == "null")
                            {
                                cmd.Parameters[arrParametros[iFila, 0]].Value = null;
                            }
                            else
                            {
                                cmd.Parameters[arrParametros[iFila, 0]].Value = Convert.ToInt32(arrParametros[iFila, 2]);
                            }
                        }

                        if (arrParametros[iFila, 1].ToUpper() == "SYSTEM.DOUBLE")
                        {
                            cmd.Parameters.Add(arrParametros[iFila, 0], MySqlDbType.Decimal);
                            if (arrParametros[iFila, 2] == "null")
                            {
                                cmd.Parameters[arrParametros[iFila, 0]].Value = null;
                            }
                            else
                            {
                                cmd.Parameters[arrParametros[iFila, 0]].Value = Convert.ToDouble(arrParametros[iFila, 2]);
                            }
                        }

                        if (arrParametros[iFila, 1].ToUpper() == "SYSTEM.STRING")
                        {
                            cmd.Parameters.Add(arrParametros[iFila, 0], MySqlDbType.VarChar);
                            cmd.Parameters[arrParametros[iFila, 0]].Value = Convert.ToString(arrParametros[iFila, 2]);
                        }

                        if (arrParametros[iFila, 1].ToUpper() == "SYSTEM.TEXT")
                        {
                            cmd.Parameters.Add(arrParametros[iFila, 0], MySqlDbType.Text);
                            cmd.Parameters[arrParametros[iFila, 0]].Value = Convert.ToString(arrParametros[iFila, 2]);
                        }

                        if (arrParametros[iFila, 1].ToUpper() == "SYSTEM.DATETIME")
                        {
                            cmd.Parameters.Add(arrParametros[iFila, 0], MySqlDbType.Date);

                            if (arrParametros[iFila, 2] == "null")
                            {
                                cmd.Parameters[arrParametros[iFila, 0]].Value = null;
                            }
                            else
                            {
                                cmd.Parameters[arrParametros[iFila, 0]].Value = Convert.ToDateTime(arrParametros[iFila, 2]);
                            }
                        }
                    }
                }

                MySqlDataAdapter adp = new MySqlDataAdapter(cmd);
                adp.Fill(DtResul);

                return(DtResul);
            }
            catch (Exception ex)
            {
                booOcurrioError = true;                  // INDICA QUE EXISTE ERROR
                IntErrorNumber  = ex.HResult;            // INDICA EL NUMERO DE ERROR
                StrErrorMensaje = ex.Message;            // ENVIA EM MENSAJE DE ERROR
                return(null);
            }
        }