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