2017-04-26 8 views
0

WindowsフォームアプリケーションでDataGridViewにOracle Dataを表示しようとしていますが、グレーの空白のビューが返されます。このための私のコードは、現在、次のとおりです。OracleデータベースでTextBox値を使用してgridviewでデータを検索する方法

 string insertquery = "select * from Candidate where CandidateName like '"+ txtBoxSearchData.Text +"%'"; 

     OracleConnection con = new OracleConnection(oradb); 
     con.Open(); 
     OracleCommand cmd = new OracleCommand(); 
     cmd.Connection = con; 
     cmd.CommandText = insertquery; 

     try 
     { 
      OracleDataReader reader = cmd.ExecuteReader(); 

      OracleDataAdapter orada = new OracleDataAdapter(cmd); 
      DataTable dataTable = new DataTable(); 
      orada.Fill(dataTable); 
      dataTable.Load(reader); 
      BindingSource bSource = new BindingSource(); 
      bSource.DataSource = dataTable; 
      dataGridViewSearch.DataSource = bSource; 
      orada.Update(dataTable); 

     } 
     catch(ArgumentException ex) 
     { 
      MessageBox.Show("Error: " + ex.Message); 
     } 
     catch(OracleException ex1) 
     { 
      MessageBox.Show("Error: " + ex1.Message); 
     } 
     finally 
     { 
      cmd.Dispose(); 
      con.Dispose(); 
     } 
    } 

私は私が私のtry文のすべてのこれらの機能を必要としないポジティブだが、私はこれを行うには、多くの異なる方法に遭遇してきた - 私はちょうどに私のコードにそれらのすべてが含まれて実験。私のアプリケーションの別の部分でクエリを使ってテーブルにデータを追加するのに成功したので、接続文字列も正しいです。

答えて

0

次のようなことがあれば十分です。 OracleDataAdapterまたはBindingSourceは必要ありません。私はOracleデータベースを持っていないので、ここでそれをテストすることはできません。

public void fillDataGrid() 
    { 
     try 
     { 
      using(OracleConnection connection = new OracleConnection("connectstring")) 
      using(OracleCommand cmd = new OracleCommand("select * from my super table", connection)) 
      { 
       connection .Open(); 
       using(OracleDataReader oracleDataReader = cmd.ExecuteReader()) 
       { 
        DataTable dataTable = new DataTable(); 
        dataTable.Load(oracleDataReader); 
        myDataGrid.DataSource = dataTable; 
       } 
      } 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message); 
     } 
    } 
} 
関連する問題