2016-12-01 5 views
1

Ich habe die folgende Code/SQL-Anweisung in meinem C# -Projekt, aber die Select-Anweisung zeigt nicht die Werte, was in der Spalte sind, zeigt es nur den Spaltennamen, warum ist das?Wie kann ich die ausgewählte Spalte in C#, SQL

meinen Code

string Table = ListBox2.Text; 
string column= listBox1.GetItemText(listBox1.SelectedItem); 

      foreach (object Tables in ListBox2.SelectedItems) 
      { 
       using (SqlDataAdapter SQLStatement = new SqlDataAdapter("SELECT '"+column+"' FROM " + table, ConnectionString)) 
       { 
        DataTable dt= new DataTable(); 
        SQLStatement.Fill(dt); 
        dataGridView1.DataSource = dt; 
        dataGridView1.Refresh(); 

       } 
      } 
+0

nicht bezogen werden: 'dataGridView1.Refresh();' redundant ist. 'dataGridView1.DataSource = dt;' aktualisiert datagridview mit neuen Werten. – Fabio

Antwort

1

Wenn Sie SELECT '"+column+"' FROM table_name verwenden, wird generierte Abfrage so etwas wie dieses: SELECT "column" FROM table_name.

Bitte versuchen Sie dies:

string sqlCommandStatement = string.Format("SELECT {0} FROM {1}", column,table); 

using (SqlDataAdapter SQLStatement = new SqlDataAdapter(sqlCommandStatement, ConnectionString)) 
      { 
       DataTable dt= new DataTable(); 
       SQLStatement.Fill(dt); 
       dataGridView1.DataSource = dt; 
       dataGridView1.Refresh(); 

      } 
+0

Ja danke ich kann deine Frage nach 8 min annehmen – user7235054

+0

@ user7235054, Gern geschehen! Bitte akzeptieren Sie die Antwort, wenn Sie mindestens 8 bekommen. –

+0

@ Toshi was meinst du es funktioniert soo? – user7235054

Verwandte Themen