2017-02-20 5 views
0

Ich habe zwei Tabellen. Wie verwende ich die mit dem Code ausgewählten Zeilen unterHolen Sie alle Zeilen aus einer Spalte und alle verwenden, um Zeilen aus einer anderen Tabelle auszuwählen

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

eine List-Box mit einer Auswahlabfrage unter Verwendung der erhaltenen Zeilen zu füllen.

Da es dynamisch sein muss, glaube ich nicht, dass ich SQL Reader verwenden kann, um es als Variablen festzulegen.

+3

Ziehen Sie in Betracht, diese Tabellen zu verknüpfen? mit SQL-JOINS –

+0

@ unglücklich, während ein Join gemacht werden könnte, um zu arbeiten, denke ich, mit 'IN' mit einer Unterabfrage funktioniert besser. – Andrew

Antwort

2

Sie können nur eine SQL-Anweisung verwenden, z.

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

und dann das Listenfeld wie in der folgenden füllen:

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; 
      } 

Hoffe, dass diese Hilfe.

+0

Vielen Dank !! Genau das, was ich brauchte! – Seiren

-1

Sie können die Zeilen in zwei separaten Variablen erhalten und basierend auf der Bedingung können Sie das Listenfeld entsprechend laden oder neu laden. Dies ist möglicherweise eine gute Option, wenn die Anzahl der Zeilen geringer ist. Wenn der Datensatz groß ist, dann lade den Datensatz basierend auf der Bedingung neu und lade das Listenfeld. Es ist keine gute Option, einen großen Datensatz im Speicher zu behalten.

+0

Wie behandelt dies die Frage der Verwendung einer Abfrage, um die Bedingung in einer anderen Abfrage zu definieren? – Andrew

+0

Sorry, dass ich die Frage falsch verstanden habe, dachte ich, dass Sie beide Ergebnisse in der Listbox dynamisch basierend auf bestimmten Bedingungen laden wollten. Die Antwort von @stevethegrk ist gut. – BipinR

Verwandte Themen