/// <summary> /// Constructor de la clase. Inicializa y valida los objetos con las tablas pasadas. /// </summary> /// <param name="oConnection">Objeto Conexión.</param> /// <param name="myColObjects"> /// Lista de objetos sobre los cuales se van a realizar las instrucciones DML, esto objetos deben ser pasado en el /// orden en el que se /// desea que actualicen a la base de datos. /// </param> internal ClsValidateObjects(ClsConnection oConnection, params Object[] myColObjects) { for (int i = 0; i < myColObjects.Length; i++) { this.oConnection = oConnection; this.myColObjects = new Dictionary<string, ClsObjectClass>(); //Inicializamos las propiedades y los campos del objeto de la clase pasada. Al objeto dictionary le ponemos como clave principal en nombre de la tabla var myObjectClass = new ClsObjectClass(myColObjects[i]); this.myColObjects.Add(myObjectClass.STableName, myObjectClass); var myObjectTable = new Schema(myObjectClass.STableName, this.oConnection); myColTables = new Dictionary<string, Schema>(); myColTables.Add(myObjectClass.STableName, myObjectTable); ColummnsValidate(); } }
/// <summary> /// Inicializa sólo una tabla de la base de datos. /// </summary> /// <param name="sNameTable">Nombre de la tabla a inicializar.</param> /// <param name="oConection">Objeto que contiene la conexión a la base de datos.</param> internal Schema(String sNameTable, ClsConnection oConection) { _conection = oConection; if (_conection.Status() == ConnectionState.Closed) { _conection.DbOpen(); } _nameTable = sNameTable; //Cargamos el esquema o la tabla. if (!string.IsNullOrWhiteSpace(_nameTable)) { _tables = new List<Table> {LoadTable(sNameTable)}; } else LoadSchema(); _conection.DbClose(); }
/// <summary> /// Inicializa el esquema de la base de datos. /// </summary> /// <param name="connection">Objeto que contiene la conexión a la base de datos.</param> internal Schema(ClsConnection connection) : this("", connection) { }
/// <summary> /// Constructor de la clase. /// </summary> /// <param name="oCon">Conexión de la base datos.</param> /// <param name="sNameTable">Nombre de la tabla para obtener el esquema.</param> public ClsStructure(ClsConnection oCon, String sNameTable) { this.oCon = oCon; LoadSchema(sNameTable); }
/// <summary> /// Inicializa las variables a nulo. /// </summary> private void ValueInitial() { sTableName = ""; oColumns = null; oKeysColumns = null; dtTablaSelect = null; oCon = null; oSchemaStruct = null; sPrimaryKeys = null; }
/// <summary> /// Constructor de la clase. /// </summary> /// <param name="oCon">Conexión de la base datos.</param> public ClsStructure(ClsConnection oCon) { this.oCon = oCon; LoadSchema(); }
/// <summary> /// Ejecuta una sentencia SQL de selección (SELECT) /// </summary> /// <param name="oConnBD"> Instrucción SQL a ejecutar</param> /// <param name="sSQL"> /// Indica si se produce un error, si debe motrar un mensaje o debe elevar el error al método o función desde el que /// fué llamada esta función.</param> /// <param name="ElevaError"></param> /// <returns>Devuelve un Datatable con el resultado de la SQL</returns> public DataTable SQLQuery(ClsConnection oConnBD, String sSQL, bool ElevaError) { DataTable oRes = null; try{ this.sSqlQuery = sSQL; oMiDataSet =oConnBD.InitDataAdapter(sSQL); oDataView = new DataView(MiDataTable); //CargaEstructura() this.oBindingSource = new BindingSource(); this.oBindingSource.DataSource = MiDataView; oRes = MiDataTable; }catch(Exception ex) { if (ElevaError ) //eleva el error al método que llamó a esta función y el objeto exception original va en el InnerException throw new Exception("Error al ejecutar la sentencia: " + sSQL, ex); else System.Windows.Forms.MessageBox.Show("Error al ejecutar la sentencia: " + sSQL + (char)13, ex.ToString()); } return oRes; }
/// <summary> /// Constructor de la clase ClsExecuteQuery. /// </summary> /// <param name="oCon">Instancia al Objeto conexión de la base de datos.</param> public ClsExecuteQuery(ClsConnection oCon) { this.oCon = oCon; }