2013-09-17 2 views
2

Я пытаюсь загрузить некоторые данные в DataGridView, но либо DataGridView не показывает данные (даже если он говорит, что в Debug-режиме, что он имеет элементы в нем)DataGridView не показывая столбцов/данных

protected void PopulateGrid() 
    { 
     string dataSource = "test.db"; 
     String connectionString = "Data Source=" + dataSource; 
     String selectCommand = "SELECT * FROM test_run"; 
     SQLiteDataAdapter dataAdapter = 
        new SQLiteDataAdapter(selectCommand, connectionString); 

     DataSet ds = new DataSet(); 
     dataAdapter.Fill(ds); 

     dataGridView1.DataSource = ds; 
     dataGridView1.Refresh(); 
    } 

или он не работает и ошибка появляется: «DataReader уже активен в этой команде»

protected void PopulateGrid() 
    { 
     SQLiteConnection SQLconnect = new SQLiteConnection(); 
     SQLiteCommand SQLcommand = default(SQLiteCommand); 
     SQLiteDataAdapter SQLAdapt = new SQLiteDataAdapter(); 
     SQLiteDataReader SQLreader = default(SQLiteDataReader); 
     DataTable db = new DataTable(); 

     SQLconnect.ConnectionString = "Data Source=test.db;MultipleActiveResultSets=True"; 
     SQLconnect.Open(); 
     SQLcommand = SQLconnect.CreateCommand(); 


     SQLcommand.CommandText = "SELECT * FROM test_run;"; 
     SQLreader = SQLcommand.ExecuteReader(); 

     SQLAdapt.SelectCommand = SQLcommand; 
     SQLAdapt.Fill(db); 
     dataGridView1.DataSource = db.DataSet; 
     dataGridView1.Refresh(); 
+1

Remember расположить соединение после выборки данных, чтобы избежать исключения вы получите за то, что уже активный datareader. – Alireza

ответ

4
dataGridView1.DataSource = ds; 
dataGridView1.DataMember = ds.Tables[0].TableName; 
//or if you want to use DataTable as DataSource for your grid 
dataGridView1.DataSource = ds.Tables[0]; 
+0

Должно быть, FacePalm не видит его, не работает с базой данных на ~ 1 год: O ... Спасибо – Rudi

Смежные вопросы