2013-06-10 3 views
7

में एक्सेस डेटाबेस को कैसे कनेक्ट करें मेरे पास 7 टेबल के साथ डेटाबेस फ़ाइल एक्सेस है लेकिन मुझे नहीं पता कि सभी तालिकाओं को कैसे कनेक्ट और दिखाने के लिए, अगर कोई मेरी मदद कर सकता है?सी #

यह मेरा कोड है, लेकिन यह कुछ भी

private void button1_Click(object sender, EventArgs e) 
{ 
    OleDbConnection conn = new OleDbConnection(); 
    String connection = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\\Tables.accdb;Persist Security Info=True"; 
    string sql = "SELECT Clients FROM Tables"; 
    conn.ConnectionString = connection; 
    conn.Open(); 
    DataSet ds = new DataSet(); 
    DataGridView dataGridView1 = new DataGridView(); 
    BindingSource bSource = new BindingSource(); 
    OleDbDataAdapter adapter = new OleDbDataAdapter(sql,conn); 
    adapter.Fill(ds); 
    //conn.Close();        
    dataGridView1.DataSource = ds; 
+0

और यह कोड क्या फेंक रहा है त्रुटि क्या है? ** कृपया उस जानकारी के साथ * संपादित करें * ** –

+0

क्या आपने http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/6fde18c2-3e82-4a75-acf5-9aa5dd2165c2/ देखा है ? –

+0

इसके बजाय 'प्रदाता = Microsoft.Jet.OLEDB.4.0' का उपयोग करें? –

उत्तर

13

इस कोड का प्रयास करें प्रदर्शित नहीं करता है,

public void ConnectToAccess() 
{ 
    System.Data.OleDb.OleDbConnection conn = new 
     System.Data.OleDb.OleDbConnection(); 
    // TODO: Modify the connection string and include any 
    // additional required properties for your database. 
    conn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;" + 
     @"Data source= C:\Documents and Settings\username\" + 
     @"My Documents\AccessFile.mdb"; 
    try 
    { 
     conn.Open(); 
     // Insert code to process data. 
    } 
     catch (Exception ex) 
    { 
     MessageBox.Show("Failed to connect to data source"); 
    } 
    finally 
    { 
     conn.Close(); 
    } 
} 

http://msdn.microsoft.com/en-us/library/5ybdbtte(v=vs.71).aspx

+0

यह केवल एक्सेस 2007 – Fandango68

2

आप तेज़ी से एक DataGridView निर्माण कर रहे हैं और डेटा स्रोत सेट इसके लिए। यह अच्छा है, लेकिन फिर आप होस्टिंग फॉर्म के नियंत्रण संग्रह में DataGridView जोड़ते हैं?

this.Controls.Add(dataGridView1); 

वैसे कोड थोड़ा उलझन में

String connection = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\\Tables.accdb;Persist Security Info=True"; 
string sql = "SELECT Clients FROM Tables"; 
using(OleDbConnection conn = new OleDbConnection(connection)) 
{ 
    conn.Open(); 
    DataSet ds = new DataSet(); 
    DataGridView dataGridView1 = new DataGridView(); 
    using(OleDbDataAdapter adapter = new OleDbDataAdapter(sql,conn)) 
    { 
     adapter.Fill(ds); 
     dataGridView1.DataSource = ds; 
     // Of course, before addint the datagrid to the hosting form you need to 
     // set position, location and other useful properties. 
     // Why don't you create the DataGrid with the designer and use that instance instead? 
     this.Controls.Add(dataGridView1); 
    } 
} 

संपादित टिप्पणियों के बाद नीचे यह स्पष्ट है वहाँ फ़ाइल नाम (TABLES.ACCDB) और बीच भ्रम की स्थिति का एक सा है तालिका क्लाइंट का नाम।
The SELECT statement तो सही सिंटैक्स सभी ग्राहकों के डेटा पुन: प्राप्त करने के लिए उपयोग करने के लिए परिभाषित किया गया है (अपने मूल रूप में) के रूप में

SELECT field_names_list FROM _tablename_ 

string sql = "SELECT * FROM Clients"; 

जहां * का मतलब है -> सभी क्षेत्रों में मौजूद तालिका

+0

से पुराने एक्सेस डेटाबेस के लिए काम करता है धन्यवाद स्टीव, मुझे एक त्रुटि एडाप्टर है। भरें (डीएस); माइक्रोसॉफ्ट एक्सेस डेटाबेस इंजन अपूर्ण तालिका या क्वेरी 'टेबल्स' को ठीक नहीं कर सकता है। सुनिश्चित करें कि यह अस्तित्व में है और इसका नाम सही ढंग से लिखा गया है। – user2386687

+0

त्रुटि मुझे स्पष्ट लगती है। क्या आपके पास टेबल्स.एसीसीडीबी में 'टेबल्स' नाम की एक टेबल है? या आप डेटाटेबल के लिए फ़ाइल का नाम भ्रमित कर रहे हैं? – Steve

+0

टेबल सही है लेकिन मैं सोच रहा हूं, जब मैं क्लाइंट टेबल को टेबल से चुनिंदा क्लाइंट में फ़ाइल से कनेक्ट करने का प्रयास करता हूं, तो मैं कुछ गलत कर रहा हूं, ओह मुझे यह सामान नहीं पता। यहां तक ​​कि जब मैं समझाने की कोशिश करता हूं तो मुझे बहुत अच्छी तरह से पता नहीं है – user2386687