Si puedo abrir una conexión a un archivo MS Access en C#, ¿cómo puedo recuperar una lista de las diferentes tablas que existen en Access DB (y si es posible, cualquier metadato asociado con las tablas)?Recuperar lista de tablas en el archivo MS Access
11
A
Respuesta
25
me acaba de encontrar la siguiente solución de David Hayden
// Microsoft Access provider factory
DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.OleDb");
DataTable userTables = null;
using (DbConnection connection = factory.CreateConnection()) {
// c:\test\test.mdb
connection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\test\\test.mdb";
// We only want user tables, not system tables
string[] restrictions = new string[4];
restrictions[3] = "Table";
connection.Open();
// Get list of user tables
userTables = connection.GetSchema("Tables", restrictions);
}
List<string> tableNames = new List<string>();
for (int i=0; i < userTables.Rows.Count; i++)
tableNames.Add(userTables.Rows[i][2].ToString());
+0
¿Alguna ayuda para encontrar el número más alto en una columna en particular? Usando C# – gsvirdi
1
Aquí hay algunos enlaces:
- Displaying Tables of An Access Database Through C#
- Walkthrough: Editing an Access Database with ADO.NET
He aquí una VB.NET snipit para obtener todas las columnas de una tabla de acceso, sé que no es exactamente lo que usted' Estoy buscando, pero una primciple manzanas similares al enumerar todas las tablas:
Dim oleConn As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & myDB & ";User Id=admin;Password=;")
oleConn.Open()
Dim schemaTable As DataTable
Dim i As Integer
schemaTable = oleConn.GetOleDbSchemaTable(OleDbSchemaGuid.Column s, _
New Object() {Nothing, Nothing, "tblTheTableToListColumns", Nothing})
For i = 0 To schemaTable.Columns.Count - 1
Debug.Print(schemaTable.Rows(i)!COLUMN_NAME.ToStri ng)
Next i
oleConn.Close()
Cuestiones relacionadas
- 1. Recuperar datos URL JSON en MS Access
- 2. MS Access trigger?
- 3. MS Access Propiedades
- 4. MS Access obtener el nombre de archivo seleccionado de FileDialog
- 5. cómo usar un archivo MS-Access de Linux?
- 6. MS Access Database Lista de verificación Filtros de lista que faltan en el servidor SQL
- 7. ¿Tenemos transacciones en MS-Access?
- 8. MS Access sin VBA?
- 9. MS Access prepara declaraciones
- 10. MS Access 2007 JOIN en múltiples campos
- 11. VBA + Hilos en MS Access
- 12. Nhibernate y MS Access
- 13. Ayuda con el diseño de consulta en MS-Access
- 14. MS Access: Determine el tipo de objeto
- 15. Programemente cree conexiones ODBC y tablas de enlaces en MS Access
- 16. ms-access: ¿cómo comentar el código sql?
- 17. Proporcionar ayuda en forma en MS Access
- 18. Creación de tablas DDL de Microsoft Access
- 19. Crear tablas en un archivo de MS Word usando Java
- 20. Intercambio de tablas ms-sql
- 21. Campos de Bool anulables en las tablas vinculadas de MS Access
- 22. Pasar parámetros entre formularios en MS Access
- 23. Sincronizar datos de MS Access a MS SQL
- 24. Crear procedimiento almacenado en MS Access?
- 25. ¿Cómo eliminar datos en todas las tablas de ms-access a la vez?
- 26. Expresiones regulares en MS Access VBA?
- 27. Crear vista en MS Access 2007
- 28. Seleccionar registros omitiendo filas en MS Access
- 29. Error de sintaxis (falta operador) en MS-Access consulta
- 30. ¿Cómo puedo utilizar Hibernate con MS Access?
Lo metadatos está usted en necesidad de conocer? –
Por lo menos, la descripción de la tabla (si se guarda) –
posible duplicado de [¿Cómo puedo obtener una lista de tablas en una base de datos de Access (Jet)?] (Http://stackoverflow.com/questions/ 6152545/how-can-i-get-a-list-of-tables-in-access-jet-database) – Fionnuala