¿Cómo obtener tablas de una base de datos?

05/02/2005 - 12:55 por Vyacheslav Popov | Informe spam
Hola a todos.

Quisiera saber ¿cómo puedo obtener tablas de una base de datos?
(principalmente en SQL Server)

Saludos.
Popov

Preguntas similare

Leer las respuestas

#1 Vyacheslav Popov
05/02/2005 - 14:17 | Informe spam
Me respondo yo mismo.

public DataTable GetTables(OleDbConnection conn)
{
conn.Open();
DataTable schemaTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,
new object[] {null, null,
null, "TABLE"});
conn.Close();
return schemaTable;
}

private void MostrarTablas()
{
DataTable tab = GetTables("Provider=SQLOLEDB;Data
Source=localhost;Initial Catalog=Northwind");
foreach (DataRow row in tab.Rows)
{
comboBox1.Items.Add(row["TABLE_NAME"]);
}
}

Saludos.
Popov

"Vyacheslav Popov" escribió en el mensaje
news:er%
Hola a todos.

Quisiera saber ¿cómo puedo obtener tablas de una base de datos?
(principalmente en SQL Server)

Saludos.
Popov

Respuesta Responder a este mensaje
#2 Misael Monterroca
05/02/2005 - 18:07 | Informe spam
Otra opción seria hacer un select sobre la tabla sysobjects

select name from sysobjects where xtype='U'




Saludos!
Misael Monterroca
http://www.neo-mx.com/blog
Respuesta Responder a este mensaje
#3 Marino Posadas
06/02/2005 - 00:30 | Informe spam
Efectivamente, o también sobre la vista de sistema
INFORMATION_SCHEMA.TABLES, que devuelve lo mismo. Pero la ventaja que le veo
al método de Vyascheslav es que funciona perfectamente para OLEDB en
general, por ejemplo, sobre tablas de Access.


Saludos cordiales
Marino Posadas
MVP Visual C#

www.ElAveFenix.net

"Misael Monterroca" escribió en el mensaje
news:
Otra opción seria hacer un select sobre la tabla sysobjects

select name from sysobjects where xtype='U'




Saludos!
Misael Monterroca
http://www.neo-mx.com/blog
Respuesta Responder a este mensaje
#4 Anonimo
07/02/2005 - 08:42 | Informe spam
Habría otra forma llamando al método GetSchemaTable que
pertenece al interfaz IDataReader

//Retrieve column schema into a DataTable.
schemaTable = myReader.GetSchemaTable();

Se supone que de esta forma sería genérico para todas las
clases de BBDD que implementen ese interfaz, es decir,
todas las clases de BBDD que sean ADO.NET, Sql, Oracle,
ODBC, OleDb, y demás.



Efectivamente, o también sobre la vista de sistema
INFORMATION_SCHEMA.TABLES, que devuelve lo mismo. Pero


la ventaja que le veo
al método de Vyascheslav es que funciona perfectamente


para OLEDB en
general, por ejemplo, sobre tablas de Access.


Saludos cordiales
Marino Posadas
MVP Visual C#

www.ElAveFenix.net

"Misael Monterroca"


escribió en el mensaje
news:
Otra opción seria hacer un select sobre la tabla




sysobjects

select name from sysobjects where xtype='U'




Saludos!
Misael Monterroca
http://www.neo-mx.com/blog




.

Respuesta Responder a este mensaje
#5 Vyacheslav Popov
07/02/2005 - 11:59 | Informe spam
Sí señor.
Opto por tu solución.

Saludos.
Popov

escribió en el mensaje
news:2aa101c50ce8$8b82ac70$

Habría otra forma llamando al método GetSchemaTable que
pertenece al interfaz IDataReader

//Retrieve column schema into a DataTable.
schemaTable = myReader.GetSchemaTable();

Se supone que de esta forma sería genérico para todas las
clases de BBDD que implementen ese interfaz, es decir,
todas las clases de BBDD que sean ADO.NET, Sql, Oracle,
ODBC, OleDb, y demás.



Efectivamente, o también sobre la vista de sistema
INFORMATION_SCHEMA.TABLES, que devuelve lo mismo. Pero


la ventaja que le veo
al método de Vyascheslav es que funciona perfectamente


para OLEDB en
general, por ejemplo, sobre tablas de Access.


Saludos cordiales
Marino Posadas
MVP Visual C#

www.ElAveFenix.net

"Misael Monterroca"


escribió en el mensaje
news:
Otra opción seria hacer un select sobre la tabla




sysobjects

select name from sysobjects where xtype='U'




Saludos!
Misael Monterroca
http://www.neo-mx.com/blog




.

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida