Столбец с именем [имя столбца] уже принадлежит этой таблице данных - PullRequest
2 голосов
/ 25 августа 2010
private void BindFields()
{
    DataTable table = Globals.ConvertDataReaderToDataTable(DataProvider.GetFields());
    _fieldCount = table.Rows.Count;

    dataGrid.DataSource = table;
    dataGrid.DataBind();
}

ConvertDataReaderToDataTable, предоставляемый платформой DotNetNuke, выдает это исключение:

Столбец с именем [имя столбца] уже принадлежит этой таблице данных

У меня есть столбцы с одинаковыми именами в разных таблицах, но они представляют собой пары первичный / внешний ключ и поэтому имеют одинаковые значения. Что бы вы сделали, чтобы решить эту проблему?

Ответы [ 3 ]

0 голосов
/ 26 августа 2010

Я просто использовал

DataTable dataTable = new DataTable();
dataTable.Load(dataReader);

вместо

DotNetNuke
DataTable dataTable = Globals.ConvertDataReaderToDataTable(dataReader);

и я больше не получаю исключения.

0 голосов
/ 23 мая 2018

Это происходит, когда в ваших выражениях SQL JOIN выбран тот же столбец. Я исправил эту проблему, удалив дубликат столбца из моего SQL-соединения следующим образом
Изменить это SELECT O.Section</b>,S.CurriculumTblCode, <b>S.Section ,S.SectionSettingTblCode FROM otf.ViewOneToFiveGroups O INNER JOIN SectionSetting S ON O.SectionSettingTblCode= S.SectionSettingTblCode


Для этого просто удалив дубликат S.Section

     SELECT <b>O.Section</b>,S.CurriculumTblCode,S.SectionSettingTblCode 
     FROM 
     otf.ViewOneToFiveGroups O 
     INNER JOIN SectionSetting S ON O.SectionSettingTblCode= 
     S.SectionSettingTblCode
0 голосов
/ 25 августа 2010

Обычно вы используете только один из столбцов в источнике данных.Если не считать этого, вы бы использовали псевдоним одного из других столбцов.

Используя только один из дубликатов

Select a.SomeColumn, b.OtherStuff
From TableA a
Inner Join TableB b
on a.SomeColumn = b.SomeColumn

Или используя псевдоним

Select a.SomeColumn, b.SomeColumn as SomeColumnB, b.OtherStuff
From TableA a
Inner Join TableB b
on a.SomeColumn = b.SomeColumn
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...