2016-04-20 5 views
0

Ich habe Datagridview, dass ich um 5 Tabellen füllen muss. Ich habe SqlCommand und SqlConnection deklariert. Danach verwende ich somethine wie folgt aus:Aktualisierung von Datagridview aus vielen Tabellen

selCommand.Connection = conn; 
dt = new DataTable(); 
SqlDataAdapter ad = new SqlDataAdapter(); 
ad.SelectCommand = selCommand; 
ad.Fill(dt); 
dataGridView1.DataSource = dt; 

Als Folge ich Spaltenüberschriften meiner Abfrage in Datagridview haben, aber keine Daten. Ich habe versucht, diesen Code verwenden:

selCommand.Connection = conn; 
dt = new DataTable(); 
SqlDataReader dr = selCommand.ExecuteReader(); 
dt.Load(dr); 
bs = new BindingSource(); 
bs.DataSource = dt; 
dataGridView1.DataSource = bs; 
dr.Close(); 

Es funktionierte, aber ich etwas ändern, und ich kann nicht verstehen, warum es nicht funktioniert.

Antwort

0

Try this:

DataTable table = null; 
using (SqlConnection connection = new SqlConnection(this.connectionString)) 
{ 
    try 
    { 
     connection.Open(); 
     SqlCommand cmd = connection.CreateCommand(); 
     cmd.CommandText = "SELECT * FROM Something WHERE Id = @Id"; 
     cmd.Parameters.Add(new SqlParameter("@Id", YourValue)); 
     using (SqlDataAdapter adapter = new SqlDataAdapter(cmd)) 
     { 
      table = new DataTable(); 
      adapter.Fill(table); 
     } 
    } 
    catch (Exception ex) 
    { 
     //Handle your exception; 
    } 
} 

dataGridView1.DataSource = table; 
+0

Es funktioniert nicht. DataGridView ist leer. – ExUser

+0

Bitte Code angeben. – SeM

Verwandte Themen