Поле или свойство с именем не найдено в выбранном источнике данных

#c# #asp.net #sql

#c# #asp.net #sql

Вопрос:

Я заполняю DataGrid из таблицы данных SQL. Моя хранимая процедура возвращает список имен пользователей с именем поля «Username». Я снова объявляю сетку данных и только один столбец «Username». Я получаю сообщение об ошибке «Поле или свойство с именем не найдено в выбранном источнике данных».. Столбцы имеют одинаковое имя «Username», поэтому я не могу понять, почему я должен это получить, у кого-нибудь есть идея?

Заранее спасибо за любую помощь!

     DataSet ds = new DataSet();
    SqlDataAdapter da = new SqlDataAdapter();
    da.SelectCommand = cmd;
    da.Fill(ds);

    BoundColumn c1 = new BoundColumn();
    c1.HeaderText = "Username";
    c1.DataField = "Username";


    dgUsers.Columns.Add(c1);

    dgUsers.DataSource = ds.DefaultViewManager;
    dgUsers.DataBind();
  

Комментарии:

1. перед вызовом databind используйте ds. Напишите EXML и опубликуйте xml, чтобы мы могли «видеть» ваш набор данных

2. соответствует ли регистр имени поля в SQL server имени в вашем коде?

Ответ №1:

Вы должны установить для свойства AutoGenerateColumns dgUsers значение true и временно не добавлять c1 в dgUsers.Столбцы. Затем datagrid покажет все столбцы из источника данных по мере их возврата, и вы сможете увидеть, что происходит.