Невозможно обновить запрос в Table Adapter с новыми столбцами - PullRequest
0 голосов
/ 27 января 2011

Я работаю над проектом с некоторыми строго типизированными адаптерами таблиц SQL, с которым я совсем не знаком.Я добавил новый столбец через конструктор, но ранее существовавший Запрос (базовая выборка) не увидел новый столбец.После долгих раздумий я наконец-то получил возможность «увидеть» новый столбец в построителе запросов, выполнив:

1) Щелкните правой кнопкой мыши на запросе, выберите «configure»

2) Нажмитекнопку «предыдущий», пока мне не предложат выбрать строку подключения к моей базе данных.
Мне пришлось изменить ее на базу данных разработки, которая содержит новый столбец

3) Продолжить работу мастера с помощью команды «Далее»Кнопка, без внесения каких-либо других изменений.

Следует отметить, что эти шаги были необходимы, даже если я уже вручную добавил столбец через конструктор.

После того, как я это сделал, запрос прикрепленчтобы таблица в конструкторе могла «увидеть» новый столбец просто отлично.Мы назовем эту обновленную таблицу FirstTable.

Однако у меня возникла проблема с другим уже существующим запросом из другой таблицы , которая соединилась с FirstTable.Эту другую таблицу я назову SecondTable.

Я щелкнул правой кнопкой мыши на SecondTable, выбрал «настроить» и нажал «предыдущий» в мастере, чтобы выбрать правильную строку подключения.Закончен мастер, который предположительно перепроектировал SecondTable с этой новой строкой соединения (фактических изменений в этой таблице не было).

Однако запрос, который присоединяет SecondTable к FirstTable, не может видеть новые столбцы из FirstTable.

Моя последняя попытка состояла в том, чтобы удалить «отношение», которое было сопоставлено между этими двумя таблицами, и воссоздать его.Я думал, что это позволит SecondTable видеть новые столбцы в FirstTable, чтобы его можно было использовать в объединении.

В настоящее время я получаю сообщение об ошибке «недопустимое имя столбца», независимо от того, изменил я оператор SELECT или нет.напрямую или используйте Query Builder (Query Builder вообще не видит новый столбец и не позволяет добавлять его вручную).И я полностью определил имя таблицы (например, dbo.TableName.ColumnName)

Я несколько часов бился головой об этом.У кого-нибудь есть какие-либо советы?

РЕДАКТИРОВАТЬ: я повторно добавил FirstTable в построителе запросов, чтобы посмотреть, будет ли он обновить данные столбца, который доступен.Не повезло - он все еще застрял в старых именах столбцов.

1 Ответ

1 голос
/ 27 января 2011

Я до сих пор не понимаю, каков был источник моей проблемы, но я нашел обходной путь.В своем обновлении я упоминал, что удаление и повторное добавление объединенной таблицы в построителе запросов не приводит к обновлению имен столбцов.Тем не менее, если я создал новый новый запрос, а затем добавил объединенную таблицу в построитель запросов ... тогда poof, новые столбцы есть.Если кто-нибудь знает лучший способ сделать это, я все еще ухожу (для этого нужно создать новый запрос на основе предыдущего, присвоить ему двойное имя, удалить старое, переименовать новое обратно в исходное имя ...какой беспорядок).

...