Crear tabla mediante código en una base de datos access

Contexto: Tengo clientes foráneos. Muchos fuera de mi ciudad, incluso en otros países. Cuando les mando actualizaciones de los sistemas y es necesario actualizar la base de datos, es un problema, si no tengo un medio de conexión remota, mas aun cuando mis clientes carecen de conocimientos técnicos.
La solución a este problema es que el mismo sistema, al ejecutarse, haga los cambios necesarios.
En esta ocasión les enseñaré como crear una tabla en una base de datos access mediante código:

public static void ScriptActualizacion000(){
    int RowCount = 0;
    OleDbConnection cnn = new OleDbConnection(clsMain.CnnStr);//Cadena de conexión
    try{
        cnn.Open();
        OleDbCommand cmd = new OleDbCommand();
        cmd.Connection = cnn;
        //CREAR TABLAS
        RowCount = 0;
        DataTable schema = cnn.GetSchema("TABLES"); 
        foreach (DataRow row in schema.Rows){
            if (row["TABLE_NAME"].ToString() == "TRASPASOS_DETALLE") 
                RowCount = 1; 
        }
        if (RowCount == 0){
            cmd.CommandText = @"
                CREATE TABLE [TRASPASOS_DETALLE](
                    [ID_TRASPASOS_DETALLE] AUTOINCREMENT PRIMARY KEY,
                    [FOLIO_TRASPASO] LONG NOT NULL,
                    [FECHA] DATETIME NOT NULL,
                    [ID_PRODUCTO] VARCHAR(50) NOT NULL,
                    [CANTIDAD] DOUBLE NOT NULL,
                    [PRECIO_COMPRA] DOUBLE NOT NULL,
                    [PRECIO_VENTA] DOUBLE NOT NULL
                );
                ";
            cmd.ExecuteNonQuery();
        }
        RowCount = 0;
    }
    catch (Exception ex) { throw ex; }
    finally { cnn.Close(); }
}

Solamente hay que mandar llamar el método y listo.

No hay comentarios:

Publicar un comentario