2015-09-29 4 views
0

Я пытаюсь заполнить datagridview из двух разных таблиц, которые являются nonMember и клиентом с этими кодами ниже ..., но в datagridview ничего не отображается, кроме серого фона.Populate Datagridview из разных таблиц C#

using (SqlConnection connection = new SqlConnection(ConnectionString)) 
     using (SqlCommand cmd = connection.CreateCommand()) 
     { 
      connection.Open(); 
      cmd.CommandText = "@SELECT tbl_nonMember.*, tbl_customer.customerID AS Expr1, tbl_customer.lname, tbl_customer.fname, tbl_customer.mname, tbl_customer.gender, tbl_customer.age, tbl_customer.membership_type FROM tbl_customer INNER JOIN tbl_nonMember ON tbl_customer.customerID = tbl_nonMember.customerID"; 
      SqlDataAdapter adap = new SqlDataAdapter(cmd); 
      DataSet ds = new DataSet(); 
      adap.Fill(ds); 
      dataGridView2.DataSource = ds.Tables[0].DefaultView; 
     } 
+0

У вас есть набор DataGridView для автоматического создания столбцов? – thewisegod

+0

еще нет, я не могу найти автогенерировать столбцы в свойствах DataGridView. – Josh

ответ

1

Попробуйте добавить это к вашему методу перед установкой источника данных dataGridView2.

dataGridView2.AutoGenerateColumns = true; 

И ваш запрос выбора не должен иметь @ перед ключевым словом SELECT. Оно должно быть:

cmd.CommandText = "SELECT tbl_nonMember.*, tbl_customer.customerID AS Expr1, tbl_customer.lname, tbl_customer.fname, tbl_customer.mname, tbl_customer.gender, tbl_customer.age, tbl_customer.membership_type FROM tbl_customer INNER JOIN tbl_nonMember ON tbl_customer.customerID = tbl_nonMember.customerID"; 

Так что я бы рискнул предположить, что после автоматической генерации столбцы, ваши таблицы [0] не возвращает ни одной строки из недействительного выбора пункта.

+0

сделал это, но он по-прежнему отображает серый datagridview – Josh

+0

Проверьте мой обновленный ответ. – thewisegod

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