Wenn ich eine Verbindung zu einer MS Access-Datei in C# öffnen kann, wie kann ich eine Liste der verschiedenen Tabellen, die in der Access DB (und wenn möglich, alle Metadaten mit den Tabellen verbunden)?Tabellenliste in MS Access-Datei abrufen
11
A
Antwort
25
Ich habe gerade die folgende Lösung von 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
Hilfe bei der Suche nach der höchsten Nummer in einer bestimmten Spalte? Verwenden von C# – gsvirdi
1
Hier sind einige Links:
- Displaying Tables of An Access Database Through C#
- Walkthrough: Editing an Access Database with ADO.NET
Hier ist ein VB.NET snipit alle Spalten einer Access-Tabelle zu bekommen, ich weiß, es ist nicht genau das, was Sie‘ Suche nach, aber ein ähnliches Prinzip Äpfel beim Auflisten aller Tabellen:
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()
Verwandte Themen
- 1. LINQ to SQL-Tabellenliste Schnittstellenliste
- 2. Wie Sie MS Access-Systeminformationen abrufen
- 3. XML-Schema von MS SQL-Datenbank abrufen
- 4. SQL Server Management Studio - mehrere Filter in der Tabellenliste verwenden?
- 5. Abrufen von URL-JSON-Daten in MS Access
- 6. sp_rename funktioniert nicht mehr nach dem zweiten Umbenennen der Tabellenliste
- 7. Abfrage zum Abrufen zufällige Datensätze aus MS Access
- 8. mongodb nimmt 500 ms beim Abrufen von 150 Datensätzen
- 9. Summe in ms-access
- 10. GET/- - - - ms in meanio
- 11. Hashing in ms Zugriff
- 12. Datumsformatierung in MS SQL
- 13. Mit ISO 8601 Termine in MS Access
- 14. In ALSA alle 20 Millisekunden Audiodaten abrufen?
- 15. MS Edge - window.print() ist in MS Edge nicht Frame-kontextbezogen
- 16. MS Reporting Services Bericht-Viewer in MS Access-Datenbank
- 17. Programmgesteuertes Abrufen von MS SQL View-Spalten einschließlich Alias in .net/C#?
- 18. Abrufen von Daten aus der MS Access-Datenbank und Anzeigen in einer Listbox
- 19. Verknüpfte Objekte zu MS Project-Tasks über benutzerdefiniertes Add-In abrufen
- 20. Abrufen und Aktualisieren eines Datensatzes, der nicht in MS CRM funktioniert
- 21. Wie Datensätze für die letzten 30 Minuten in MS SQL abrufen?
- 22. MS Server 2003 vs MS Server 2008
- 23. ms sql 2012 Fall-Syntax
- 24. MS ReportViewer in WPF verwenden
- 25. Diktieren in MS Visual C#?
- 26. ShimNotSupportedException in MS VisualStudio 2012
- 27. .Net usercontrol in MS Access
- 28. Hyperlink in MS Access-Bericht
- 29. Paypal spenden in MS Office
- 30. Selbstreferenzierende Integritätsbedingung in MS SQL
Welche Metadaten sind Sie in der Notwendigkeit zu wissen? –
Zumindest die Beschreibung der Tabelle (wenn eine gespeichert wird) –
mögliche Duplikate von [Wie bekomme ich eine Liste von Tabellen in einer Access (Jet) -Datenbank?] (Http://stackoverflow.com/questions/ 6152545/how-can-i-get-a-Liste von Tabellen in einem Access-Jet-Datenbank) – Fionnuala