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