2011-11-16 3 views
0

나는 문제없이 나의 액세스 데이터베이스에서 채울 수 있어요 데이터 테이블을 가지고 있지만 나는 그것을 한 단계 추가 할 :채우기 콤보

private void button_Open_Click(object sender, EventArgs e) 
    { 
     var open = new OpenFileDialog 
        { 
         InitialDirectory = "c:\\", 
         Filter = @"Access Files (*.mdb)|*.mdb|All files (*.*)|*.*", 
         FilterIndex = 0, 
         RestoreDirectory = true, 
         Multiselect = false 
        }; 
     open.ShowDialog(); 

     if (string.IsNullOrEmpty(open.FileName)) return; 

     try 
     { 
      var con = new OleDbConnection(); 
      con.ConnectionString = "Provider= microsoft.jet.oledb.4.0; data source = " + open.FileName; 
      con.Open(); 

      var dt = new DataTable(); 
      var da = new OleDbDataAdapter("select * from tblCustomerAccount", con); 
      da.Fill(dt); 
      dataGridView_AccessDatabase.DataSource = dt.DefaultView; 
      con.Close(); 
     } 
     catch (OleDbException ex) 
     { 
      //get the error message if connection failed 

      MessageBox.Show("Error in connection ..." + ex.Message); 
     } 


    } 

내가에 추가 할을 거기 콤보 상자의 선택 해제 다음 테이블 이름으로 채워진 콤보 상자, 데이터 테이블이 채워집니다.

어떻게 콤보 박스에 테이블 이름을 채우나요?

감사합니다.

답변

2

//

string[] restrictions = new string[4]; 
restrictions[3] = "Table";  
con.Open(); 
DataTable tabls=con.GetSchema("Tables",restrictions); 

수익이의 열은 콤보이 데이터 테이블 바인딩이 나에게 테이블의 무리를 준

+0

TABLE_NAME에 datamemebr을 설정할 수 있습니다

테이블 이름을 표현하는 데이터 테이블 "System.Data.DataRowView"와 함께. – ErocM

+0

귀하의 질문은 : 어떻게 콤보 상자에 테이블 이름을 채우나요? 이 코드는 –

+0

을 반환합니다. "System.Data.DataRowView"의 묶음이 어떻게 내 테이블 이름인지 확실하지 않습니다. 내 테이블 이름은 DataRowView가 아닙니다 ... – ErocM

관련 문제