2016-03-06 72 views
-1

我試圖從數據訪問中獲取combobox1,但它不起作用。從訪問中獲取數據無法使用組合框

我的數據庫是一個.accdb文件。我的表名是「list」。

的列名:

「ID_lista」=自動編號

「諾姆」= smalltext

「鏈接」=超級鏈接

下面是代碼:

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
using System.Data.OleDb; 

namespace teste_pwd 
{ 
    public partial class Form2 : Form 
    { 
     public Form2() 
     { 
      InitializeComponent(); 
     } 

     public static class Globals 
     { 
      public static String ConString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + Application.StartupPath + "\\PWD_BD.accdb"; 
      public static OleDbConnection ConnectionString = new OleDbConnection(Globals.ConString); 
     } 

     private void Form2_Load(object sender, EventArgs e) 
     { 
      Globals.ConnectionString.Close(); 
      pCMB(); 

     } 

     public void pCMB() 
     { 
      try 
      { 

       Globals.ConnectionString.Open(); 

       int i = 0; 

       string query = "SELECT * FROM List"; 

       OleDbDataAdapter dataAdapeter = new OleDbDataAdapter(query, Globals.ConnectionString); 
       DataSet mydata = new DataSet(); 


       dataAdapeter.Fill(mydata, "List"); 
       comboBox1.DisplayMember = "Texto"; 
       comboBox1.ValueMember = "Valor"; 
       DataTable tb = new DataTable(); 
       tb.Columns.Add("Texto", typeof(string)); 
       tb.Columns.Add("Valor", typeof(int)); 

       for (i = 0; i <= mydata.Tables[0].Rows.Count - 1; i++) 
       { 
        tb.Rows.Add(mydata.Tables[0].Rows[i].ItemArray[1], mydata.Tables[0].Rows[i].ItemArray[0]); 

       } 
       comboBox1.DataSource = tb; 

       Globals.ConnectionString.Close(); 



      } 
      catch (Exception ex) { 
       MessageBox.Show(ex.Message); 
      } 

     } 
    } 
} 
+2

有意詳細說明_not working_部分嗎?什麼不起作用? – Steve

+0

也許你需要更改表名,因爲它保留字,但請澄清錯誤信息,以及發生了什麼確切的 –

+0

沒有錯誤信息..它只是劑量顯示內容 – BlueFlameB

回答

0

此代碼可能會幫助您將數據添加到組合框。 此代碼是用於vb.net的

 Dim DrContractor As DataRow 
     Dim DtContractor As DataTable 
     Dim i As Integer 

     strQuery = " SELECT * FROM CONTRACTOR ORDER BY CONTCODE" 
     Dim DataAdapeter As New SqlDataAdapter(strQuery, myConnection) 
     Dim dsDivision As New DataSet 
     'myConnection.Open() 
     DataAdapeter.Fill(dsDivision, "CONTRACTOR") 

     DtContractor = dsDivision.Tables("CONTRACTOR") 

     'myConnection.Close() 
     cboContractor.Items.Add("ALL") 
     For i = 0 To DtContractor.Rows.Count - 1 
      DrContractor = DtContractor.Rows(i) 
      cboContractor.Items.Add(DrContractor("CONTNAME").ToString & " : " & DrContractor("CONTCODE").ToString) 
     Next 
     cboContractor.SelectedIndex = 0 
     cboContractor.SelectedText = "" 
    Catch ex As Exception 
     MsgBox(ex.Message) 
    End Try