2016-10-11 10 views
0

adapterを使用すると問題なく動作しますが、adapter2を使用するとエラーが発生します。OleDbDataAdapterのFrom句を使用したシステムエラー

注:コードはform1です。私は2つのグループボックスと2つのデータグリッドビューを使用しています。

`private OleDbConnection connection = new OleDbConnection(); 
    DataTable table = new DataTable(); 
    OleDbDataAdapter adapter = new OleDbDataAdapter(); 
    DataSet set = new DataSet(); 

    public Home() 
    { 
     InitializeComponent(); 
     connection.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=G:\DatabesSystem.accdb;Persist Security Info=False;"; 
     adapter1(); 
     adapter2(); 
    } 

    private void adapter1() 
    { 
     try 
     { 
      OleDbDataAdapter adapter = new OleDbDataAdapter("select CID, Firstname, Middlename, Lastname, Address, Contact_Number, Email from Clients", connection); 
      adapter.Fill(set, "Clients"); 
      table = set.Tables["Clients"]; 
      dataGridView1.DataSource = table; 
     } 

     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); 
     } 
    } 

    private void adapter2() 
    { 
     try 
     { 
      OleDbDataAdapter adapter2 = new OleDbDataAdapter("select Transaction_Number, Client_Name, Unit_Name, Full_Price, Down_Payment, Monthly_Payment, Remaning_Balance from Transaction", connection); 
      adapter2.Fill(set, "Transaction"); 
      table = set.Tables["Transaction"]; 
      dataGridView2.DataSource = table; 
     } 

     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); 
     } 
    }` 
+1

どのようなエラーが発生しましたか?その正確な例外テキストを投稿してください。 – Gnqz

+0

エラー:FROM句のシステムエラー –

+0

2つの選択ステートメントがあります。どちらがエラーを投げていますか?あなたのテーブルにはすべての列が特定されていますか? – Sefa

答えて

3

Transactionは、SQLで予約されたキーワードです。

OleDbDataAdapter adapter2 = new OleDbDataAdapter("select Transaction_Number, Client_Name, Unit_Name, Full_Price, Down_Payment, Monthly_Payment, Remaning_Balance from [Transaction]", connection); 

テーブル名を別の名前に変更してください。

+0

ありがとう –