2017-02-20 27 views
0

У меня есть две таблицы. Как использовать строки, выбранные с кодом нижеПолучите все строки из столбца и используйте все, чтобы выбрать строки из другой таблицы.

var query = "SELECT ID FROM EmpInfo WHERE Status = @Status; 

для заполнения спискаBox с помощью запроса выбора с использованием полученных строк.

var query2 = "SELECT Code From DataInfo WHERE ID = @ID; 

Поскольку он должен быть динамическим, я не думаю, что могу использовать SQL Reader, чтобы установить его как переменные.

+3

Вы считаете, что присоединяетесь к этим таблицам? используя SQL JOINS –

+0

@ не повезло, хотя соединение можно было заставить работать, я думаю, что использование 'IN' с подзапросом работает лучше. – Andrew

ответ

2

Вы можете использовать только одно заявление Sql, например.

string sqlqry="SELECT Code FROM DataInfo WHERE ID IN (SELECT ID FROM DataInfo WHERE [email protected])"; 

, а затем заполнить ListBox, как в следующем:

using (SqlDataAdapter myadapter = new SqlDataAdapter(sqlqry, connection)) 
      {    
       // fill a data table 
       var t = new DataTable(); 
       myadapter.Fill(t); 

       // Bind the table to the list box 
       listBox1.DisplayMember = "NameOfColumnToBeDisplayed"; 
       listBox1.ValueMember = "NameOfColumnToUseValueFrom"; 
       listBox1.DataSource = t; 
      } 

Надеется, что эта помощь.

+0

Спасибо вам большое! Только то, что мне нужно! – Seiren

-1

Вы можете получить строки в двух отдельных переменных и на основе условия, которое вы можете загрузить или перезагрузить поле списка соответственно. Это может быть хорошим вариантом, если количество строк меньше. Если набор данных велик, тогда на основе условия выберите новый набор данных и загрузите его. Сохранение большого набора данных в памяти не будет хорошим вариантом.

+0

Как это относится к вопросу об использовании одного запроса для определения условия в другом запросе? – Andrew

+0

Простите, я понял вопрос неправильно, я думал, что вы хотите загружать оба результата в список в динамическом режиме на основе определенного условия. Ответ @stevethegrk хорош. – BipinR