2009-11-09 10 views
11

यदि मैं सी # में किसी एमएस एक्सेस फ़ाइल से कनेक्शन खोल सकता हूं, तो मैं एक्सेस डीबी में मौजूद विभिन्न तालिकाओं की सूची कैसे प्राप्त कर सकता हूं (और यदि संभव हो, तो कोई मेटा-डेटा टेबल से जुड़े)?एमएस एक्सेस फ़ाइल में टेबल्स की सूची पुनर्प्राप्त करें

+0

क्या मेटाडाटा आप के बारे में जानते हुए भी की जरूरत होती हैं निम्नलिखित समाधान नहीं मिला? –

+0

कम से कम, तालिका का विवरण (यदि कोई सहेजा गया है) –

+0

संभावित डुप्लिकेट [मैं एक्सेस (जेट) डेटाबेस में टेबल की सूची कैसे प्राप्त कर सकता हूं?] (Http://stackoverflow.com/questions/ 6152545/कैसे-कर-मैं-एक-सूची-ऑफ-ए-एक्सेस-इन-एक्सेस-जेट-डेटाबेस) – Fionnuala

उत्तर

25

मैं बस से 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

किसी विशेष कॉलम में उच्चतम संख्या ढूँढने में कोई सहायता? सी # का उपयोग करना – gsvirdi

1

यहां कुछ लिंक कर रहे हैं:

यहाँ एक VB.NET एक पहुँच टेबल के सभी स्तंभों को पाने के लिए snipit है, मुझे पता है यह बिल्कुल नहीं है कि तुम क्या ' फिर से देख रहे हैं, लेकिन सभी सारणी सूचीबद्ध करते समय एक समान प्राइमरी सेब:

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() 
संबंधित मुद्दे