2016-03-31 9 views
0

私はdb接続でwindowsフォームアプリケーションをやっています。
リストボックス1の項目をクリックして、その項目に従ってdbテーブルとfillリストボックス2にクエリを行いたいとします。他のリストボックスとデータベースからリストボックスを塗りつぶすことができません

listbox1にチームがあります。
listbox2にはこれらのチームのメンバーがいます。のインスタンスに設定されていない

オブジェクト参照:私はこのエラーメッセージを取得していますが

 string teamSelected = listBox1.GetItemText(listBox1.SelectedItem); 
     conexion = new dbconnector(); 

     conexion.getMembersOfTeam(ref employeesM, teamSelected); 
     this.listBox2.DisplayMember = "userID"; 
     this.listBox2.ValueMember = "userID"; //Field in the datatable which you want to be the value of the combobox 
     this.listBox2.DataSource = employeesM.Tables["users_table"]; 

:誰かが項目を選択するたびに

は現在、これは私がlistbox1を上使用しています方法であり、オブジェクト。

ことをトリガーされるコードの行は次のとおりです。

datasetMembers.Tables.Add(employeesM); 

方法の完全なコードは次のとおりです。

私は、クエリからのすべてのそれらの結果を送信するにはどうすればよい
public void getMembersOfTeam(ref DataSet datasetMembers, string teamDesired) 
    { 

     string query4 = "select * from users_table Where userTeam = '" + teamDesired + "'"; //added by fran to retrieve all the teams 
     if (OpenConnection()) 
     { 

      //retrieving all the teams using query3 
      MySqlCommand cmd4 = new MySqlCommand(query4, connection); 
      MySqlDataReader dataReader4 = cmd4.ExecuteReader(); 
      dataReader4.Read(); 

      if (dataReader4.HasRows) 
      { 
       //dataGridView1.Visible = true; 

       DataTable employeesM = new DataTable(); 
       employeesM.Load(dataReader4); 
       datasetMembers.Tables.Add(employeesM); 

      } 
      else 
      { 
       //dataGridView1.Visible = false; 
      } 


      dataReader4.Close(); 
      //end of retrieving teams 

      CloseConnection(); 
     } 
    } 

適切なデータセットとリストボックス1を更新する?

事前にお問い合わせいただきありがとうございます。データが必要な場合は、すべての情報を共有していると思います。
ありがとうございました!

+0

datasetMembersがnullのようです。 getMembersOfTeamメソッドを呼び出す前に初期化しましたか? – vabii

+0

IT WORKED !!!、ありがとう! この問題はどのように解決するとマークしますか? – dracebus

+0

あなたは答えを受け入れることができます。 – vabii

答えて

0

datasetMembersがnullです。 getMembersOfTeamメソッドを呼び出す前に初期化する必要があります。