private void GenerarEstructuraDeBD()
        {
            #region query generacion
            try
            {
                String queryGeneracion = @"
                    CREATE TABLE _Cuenta
                    ( id integer PRIMARY KEY ASC AUTOINCREMENT, dtFechaCreacion datetime , dtFechaModificacion datetime , sUsuarioCreacion text , sUsuarioModificacion text , estaDeshabilitado boolean DEFAULT 0, _st_NombreCuenta text , _bm_Imagen blob , _in_DiasParaPago integer , _in_DiaCorte integer , _do_PorcentajeInteresMensual real , _do_saldo real , _bo_EsDeAhorro boolean)
                    |
                    CREATE TABLE _MovimientoCuenta
                    ( id integer PRIMARY KEY ASC AUTOINCREMENT, dtFechaCreacion datetime , dtFechaModificacion datetime , sUsuarioCreacion text , sUsuarioModificacion text , estaDeshabilitado boolean DEFAULT 0, _do_Importe real , _do_Saldo real , _dt_fecha datetime , _dt_fechaAplicacion datetime , _st_detalleMovimiento text , _oo_Cuenta integer REFERENCES _Cuenta(id), _oo_TipoMovimiento integer REFERENCES _TipoMovimiento(id), _bo_EsSimulado boolean, _bo_EstaAplicadoAlSaldo boolean, _oo_MovimientoPareja integer REFERENCES _MovimientoCuenta(id))
                    |
                    CREATE TABLE _TipoMovimiento
                    ( id integer PRIMARY KEY ASC AUTOINCREMENT, dtFechaCreacion datetime , dtFechaModificacion datetime , sUsuarioCreacion text , sUsuarioModificacion text , estaDeshabilitado boolean DEFAULT 0, _st_Nombre text , _st_Tipo text , _do_MultiplicadorSigno real , _bo_SeDivideEnMultiplesPagos boolean, _bo_SeAplicaInmediato boolean)
                    |
                    CREATE TABLE _Cuenta_X__MovimientoCuenta__ll_Movimientos
                    ( _fecha datetime
                    , _contenido integer REFERENCES _MovimientoCuenta(id), _contenedor integer REFERENCES _Cuenta(id))
                    |
                    CREATE TABLE _Cuenta_X__MovimientoCuenta__ll_MovimientosSimulados
                    ( _fecha datetime
                    , _contenido integer REFERENCES _MovimientoCuenta(id), _contenedor integer REFERENCES _Cuenta(id))

                    |    
                    CREATE INDEX ci__Cuenta_X__MovimientoCuenta__ll_Movimientos_contenedor_fecha ON _Cuenta_X__MovimientoCuenta__ll_Movimientos (_contenedor, _fecha)
                    |
                    CREATE INDEX nci__MovimientoCuenta__oo_TipoMovimiento ON _MovimientoCuenta ('_oo_TipoMovimiento' ASC)
                    |
                    CREATE INDEX nci__MovimientoCuenta__oo_MovimientoPareja ON _MovimientoCuenta ('_oo_MovimientoPareja' ASC)
                    |
                    CREATE INDEX nci__MovimientoCuenta__oo_Cuenta ON _MovimientoCuenta ('_oo_Cuenta' ASC)
                    |
                    CREATE INDEX ci__Cuenta_X__MovimientoCuenta__ll_MovimientosSimulados_contenedor_fecha ON _Cuenta_X__MovimientoCuenta__ll_MovimientosSimulados (_contenedor, _fecha)
                    ";
                #endregion

                sql.ConfigurarConexion("CuentasPagar.db", true);

                String[] querys = queryGeneracion.Split('|');
                sql.IniciarTransaccion();
                foreach (String query in querys)
                {
                    String q = query.Trim();
                    sql.EjecutarConsulta(q);
                }
                sql.TerminarTransaccion();
                sql.ConfigurarConexion("CuentasPagar.db", false);
                manejador = new ManejadorDB(sql);
                Herramientas.Forms.Mensajes.Informacion("Se generó la Base de datos con éxito.");
            }
            catch (Exception ex)
            {
                sql.DeshacerTransaccion();
                Herramientas.Forms.Mensajes.Error(ex.Message);
            }
        }
Beispiel #2
0
 public void TerminarTransaccion()
 {
     sql.TerminarTransaccion();
 }