Exemplo n.º 1
0
        //método para obtener la estructura de las tablas al iniciar el programa
        //se obtienen todos los nombres de los archivos de los directorios, se lee uno por uno
        //se carga la estructura de cada tabla para poderlo colocar en una lista a modo de TreeView

        public void CargarEstructurasDeTabla()
        {
            //obtener los nombres de todos los arcivos dentro del directorio
            List <string> nombres = new List <string>();

            string[] ubicacion = Directory.GetFiles("C://microSQL//tablas");

            for (int i = 0; i < ubicacion.Length; i++)
            {
                nombres.Add(Path.GetFileName(ubicacion[i]));
            }

            //leer archivo por archivo
            //guardar el nombre de cada archivo y su contenido en un modelo estructura tabla
            //almacenarlo en una lista que servirá para mostrarlo en la vista parcial _Tablas
            foreach (var nombre in nombres)
            {
                EstructuraTabla nueva = new EstructuraTabla();
                nueva.Nombre = nombre.Split('.')[0];
                StreamReader sr = new StreamReader("C://microSQL//tablas//" + nombre);
                string       line;
                while ((line = sr.ReadLine()) != null)
                {
                    nueva.Columnas.Add(line.Split(',')[0], line.Split(',')[1]);
                }
                ListatreeView.Add(nueva);
                sr.Close();
            }
            #endregion
        }
Exemplo n.º 2
0
        public ActionResult Index()
        {
            List <EstructuraTabla> info = new List <EstructuraTabla>();

            info.Add(new EstructuraTabla
            {
                NombreColumna     = "",
                PrecisionNumerica = "",
                TamanioColumna    = "",
                TipoDato          = ""
            });


            //UtilidadesGenerador util = new UtilidadesGenerador();
            EstructuraTabla estructura = new EstructuraTabla();
            //http://tom-shelton.net/index.php/2009/02/21/exploring-sql-server-schema-information-with-adonet/
            SqlConnection conn        = new SqlConnection();
            string        esquemaBase = "dbo";

            conn.ConnectionString = "Data Source=CROMERO\\SQLEXPRESS;" + "Initial Catalog=ControlcBD;" + "User id=adminservertaxi;" + "Password=adm1ns3rv3rtaxi*;";
            try
            {
                conn.Open();
                // get the database information
                DataTable  databases = conn.GetSchema(SqlClientMetaDataCollectionNames.Tables, new string[] { null, null, null, "BASE TABLE" }); //conn.GetSchema(SqlClientMetaDataCollectionNames.Databases);
                SqlCommand sqlCmd;
                string     sql = null;

                foreach (DataRow table in databases.Rows)
                {
                    string tabla = string.Format("{0}.{1}", table["TABLE_SCHEMA"], table["TABLE_NAME"]);
                    tabla = tabla.Replace(esquemaBase + ".", "");
                    if (tabla == "GenPersona")
                    {
                    }
                    sql = "Select * from " + tabla;

                    sqlCmd = new SqlCommand(sql, conn);
                    SqlDataReader sqlReader   = sqlCmd.ExecuteReader();
                    DataTable     schemaTable = sqlReader.GetSchemaTable();

                    foreach (DataRow row in schemaTable.Rows)
                    {
                        foreach (DataColumn column in schemaTable.Columns)
                        {
                            Console.WriteLine(string.Format("{0} = {1}", column.ColumnName, row[column]));
                        }
                    }
                    sqlReader.Close();
                    sqlCmd.Dispose();
                }
                Console.WriteLine();

                conn.Close();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.ToString());
            }
            return(View());
        }