2012-02-16 2 views
0

어댑터를 채울 때 예외가 계속 발생하며 그 이유를 파악할 수 없습니다. 여기 내 코드가있다. 어떤 정보라도 미리 감사드립니다!C# 및 .NET 4.0을 사용하여 accdb 데이터베이스에 연결하려고 시도했습니다.

public partial class MainWindow : Window 
{ 
    private OleDbConnection connection; 
    private OleDbCommand command; 
    private OleDbDataAdapter adapter; 
    private DataSet dataset; 

    public MainWindow() 
    { 
     InitializeComponent(); 

     connection = new OleDbConnection(); 
     command = new OleDbCommand(); 
     adapter = new OleDbDataAdapter(); 
     dataset = new DataSet(); 

     connection.ConnectionString = 
      @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:/SoBeWFF.accdb;" + 
      "Persist Security Info=False"; 

     command.Connection = connection; 
     command.CommandText = "SELECT * FROM Dishes"; 

     adapter.SelectCommand = command; 

     try 
     { 
      adapter.Fill(dataset, "Dishes"); 
     } 
     catch (OleDbException) 
     { 
      MessageBox.Show("Error occured while connecting to database."); 
      // Application.Exit(); 
     } 
    } 
} 
+0

무슨 예외입니까? – adatapost

+0

어떤 예외를 게시 할 수 있습니까? –

+0

예외 오류없이 이해하기 어렵습니다! – AngeloBad

답변

1

다음 연결 문자열을 사용해보십시오. (열려있는 경우 MS-Access/데이터베이스 파일을 닫으십시오)

connection.ConnectionString [email protected]"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\SoBeWFF.accdb"; 
+0

내 게시물에 답변 해 주셔서 감사합니다! 불행히도 도움이되지 않았다 ... adapter.fill (dataset, "Dishes")에서 다음과 같은 예외가 발생합니다. '지정된 바인딩 제약 조건과 일치하는'SoBeWFF.MainWindow '형식의 생성자를 호출하면 예외가 발생했습니다. ' 행 번호 '3'및 행 위치 '9'. –

관련 문제