2016-08-17 2 views
0

Ich versuche, eine Listbox mit von einer Abfrage generierten Werten zu füllen, der Code läuft ohne Probleme, aber die Listbox zeigt keine Ergebnisse an, was mache ich falsch, fehlt etwas?Füllen einer ListBox mit Sql-Abfrage-Ergebnissen

String sql = "SELECT * FROM products where code = "+textBox1.Text; 
       SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, conn); //c.con is the connection string 
       using (SqlCommand cmd = new SqlCommand(sql, conn)) 
       { 
        conn.Open(); 
        using (SqlDataReader reader = cmd.ExecuteReader()) 
        { 
          if (reader.Read()) 
          { 
           listBox1.Items.Add(reader["description"].ToString() + ": "+reader["price"].ToString()); 
           listBox1.Refresh(); 
          } 
         reader.Close(); 
         conn.Close(); 
        } 
       } 

Antwort

3

Wenn Ihr Code Spalte von String-Typ ist dann

String sql = "SELECT * FROM products where code = '"+textBox1.Text + "'"; 
    SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, conn); //c.con is the connection string 
    using (SqlCommand cmd = new SqlCommand(sql, conn)) 
    { 
      conn.Open(); 
      using (SqlDataReader reader = cmd.ExecuteReader()) 
      { 
       while(reader.Read()) 
       { 
        listBox1.Items.Add(reader["description"].ToString() + ": "+reader["price"].ToString()); 
       } 
       reader.Close();     
      } 
      conn.Close(); 
    } 

auch alle Werte hinzufügen möchten, verwenden, während statt, wenn alle Datensätze in den Leser zu durchqueren. Und schließe auch die Verbindung nach der using-Anweisung. Ich bin sicher, dass die falsche Reihenfolge das Problem verursacht.

+0

danke mann, war schon eine zeit lang frustriert :) –

+0

Gerne helfen. Bitte stimmen Sie die Antwort ab. –

+0

bin immer noch neu Brah ... mein rep ist 7 so kann ich noch nicht, aber sobald ich 15 krank erreichen –

0

Ich mache hier einige Annahmen über Ihren Code, ist "Code" eine Nummer? Wenn nicht, haben Sie es versucht:

String sql = "SELECT * FROM products where code = '"+textBox1.Text+"'"; 

?

+0

Ist Ihr Code sogar erreicht: Welche Art von Spalte ListBox1.Items.Add –

+0

Ja ‚Code‘ ist ein Datenbank Spaltennamen und ist nicht sicher, ob es diesen Punkt‘ –

+0

erreicht ist Code? –

Verwandte Themen