2016-11-07 4 views
1

Может ли кто-нибудь помочь мне в этом коде, пожалуйста. Я пытаюсь связать данные с datagridview. Запрос возвращает значения в sql-сервере. Но это не является обязательным любое значение в DataGridView ....Как привязать DataGridView с помощью SqlDataReader

 private void CheckMembers() 
    { 
     try 
     { 
      string query = "Select id, id-no, status From Members Where [email protected]"; 

      sqlCommand = new SqlCommand(query, sqlConnection); 
      sqlConnection.Open(); 
      sqlCommand.Parameters.AddWithValue("@Head", "2288885858"); 
      sqlDataReader = sqlCommand.ExecuteReader(); 

      if (sqlDataReader.HasRows) 
      { 
       fmGview.Visible = true; 
       DataTable dt = new DataTable(); 
       dt.Load(sqlDataReader); 
       MessageBox.Show(dt.ToString()); 
       fmGview.DataSource = dt; 
      } 
     } 
     catch (Exception exp) 
     { 
      MessageBox.Show(exp.ToString(), "Exception in CheckMembers"); 
     } 
     finally 
     { 
      CheckConnectionStatus(); 
     } 
    } 

enter image description here

+3

Это должно работать, я думаю. Вы уверены, что ваш sql найдет некоторые данные? – Sebi

+1

Я проверил ваш код. он отлично работает. возможно, ваше имя поля в сетке имеет опечатку или что-то в этом роде. – Badiparmagi

+0

Кто-нибудь еще, пожалуйста? Нет успехов –

ответ

2

Установите DataPropertyName для каждого столбца в конструкторе Столбцы. Вы делаете это, поместив указатель мыши над правой ячейкой в ​​строке DataPropertyName, где он говорит (none) и щелкнул левой кнопкой мыши. Выберите текст с надписью «(none)» и введите имя поля базы данных, которое вы хотите отобразить в столбце DataGridView.

enter image description here

+0

Как его установить? Он показывает Нет –

+0

Щелкните мышью в поле и введите имя поля. В том, что вы хотите быть 'id', введите« id ». –

+0

Он начинает вставлять только пустые строки –

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