2017-02-18 6 views
1

Я пытаюсь заполнить DataGridView из базы данных с данными таблицы. Вот как:dataGridView пуст

adpt = new System.Data.SqlClient.SqlDataAdapter(query, conn); 
DataTable dt = new DataTable(); 
adpt.Fill(dt); 

BindingSource bs = new BindingSource(); 
bs.DataSource = dt; 

dataGridView1.ReadOnly = true; 
dataGridView1.DataSource = bs; 
adpt.Update(dt); 

Но все, что я вижу, это пустая DataGridView. Может ли кто-нибудь показать мне, где я ошибаюсь или что мне не хватает?

+0

Попробуйте проверить запрос –

+0

@RaviMehta запрос в порядке. DataReader отлично работает. –

+0

Вместо "adpt.Update (dt);" после «dataGridView1.DataSource = bs;», вставить «adpt.Fill (dt);» как раз перед этим. – Graffito

ответ

0

Основная функция для заполнения GridView данные ниже,

void FillData() 
      { 
       // 1 
       // Open connection 
       using (SqlCeConnection c = new SqlCeConnection(
        Properties.Settings.Default.DataConnectionString)) 
       { 
        c.Open(); 
        // 2 
        // Create new DataAdapter 
        using (SqlCeDataAdapter a = new SqlCeDataAdapter(
         "SELECT * FROM Animals", c)) 
        { 
         // 3 
         // Use DataAdapter to fill DataTable 
         DataTable t = new DataTable(); 
         a.Fill(t); 
         // 4 
         // Render data onto the screen 
         dataGridView1.DataSource = t; 
        } 
       } 
      } 
+1

Работает при передаче 'DataTable' в' DataGridView', спасибо. –