Таблицы обновления Visual Studio DataSet Designer

В конструкторе источников данных Visual Studio есть ли способ обновить таблицу и ее отношения/ограничения внешнего ключа, сохраняя при этом пользовательские запросы?

Сейчас я делаю это так: удаляю таблицу и снова добавляю ее. Это добавит все отношения и обновит все поля.

Кроме того, если я изменю тип данных поля, есть ли способ автоматически обновить все поля в источнике данных? Опять же, не удаляя таблицу и добавляя ее снова.

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

Я использую Visual Studio 2008 и подключаюсь к базе данных MySQL.

Any1 есть идея?


person Michal Ciechan    schedule 16.04.2010    source источник


Ответы (5)


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

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

Убедитесь, что ваша строка подключения имеет разрешения на просмотр информации столбца.

person Carter Medlin    schedule 07.05.2010
comment
Спасибо за это :) На самом деле я начал использовать NHibernate, как было предложено выше, но все равно спасибо, это помогло бы мне, прежде чем я начал использовать NHibernate. - person Michal Ciechan; 07.05.2010
comment
использует его для схемы вашей таблицы не совсем имеет смысл. (Схема — это больше, чем список столбцов.) Имея дело со столбцом с измененной длиной, без обновления в наборе данных, рассматриваемая таблица или столбец в таблице, похоже, взаимодействуют с xsd. Мне удалось развернуть объект DataTable, выбрать столбец и отредактировать свойство MaxLength в списке свойств. (Но это оставляет без ответа вопрос, почему обновление не обновляется. Теперь с VS2012, но я уверен, что у меня была такая же проблема с VS2008.) - person fortboise; 15.10.2015

Я сообщил об этом в MSFT, но никакого ответа. Дизайнер все время зависает на самых простых операторах SQL. То, что я нашел, работает для меня.

  1. Добавьте новую таблицу в конструктор.
  2. Сохрани это.
  3. Закройте визуальную студию 2010.
  4. Запустите VS 2010.
  5. Добавьте еще одну или две инструкции SQL и снова выполните шаги 2–4.

Это головная боль, но это единственное, что мешает конструктору наборов данных Visual Studio зависнуть. Я столкнулся с этой же проблемой в VS 2008. Я подключаюсь к Oracle, но все еще закрываю VS и запускаю его резервную копию, но на самом деле это чепуха.

person SURFThru    schedule 04.01.2011
comment
На дворе 2021 год, а эта проблема сохраняется в Visual Studio 2019. Я думаю, они давно прекратили разработку в этой области =( - person DAG; 07.01.2021

Вы можете добавлять/изменять/удалять поля и отношения, но я бы посоветовал изучить NHibernate.

person SeeSharpCoder    schedule 22.04.2010

Вы должны иметь возможность щелкнуть правой кнопкой мыши набор данных в обозревателе решений и выбрать «Запустить пользовательский инструмент», чтобы обновить таблицу и ее запрос/отношения.

Если этой команды нет, убедитесь, что в свойствах набора данных в поле «Пользовательский инструмент» указано «MSDataSetGenerator».

person Joel MC    schedule 03.12.2010

  1. Щелкните правой кнопкой мыши имя вашего набора данных и выберите «Свойства набора данных».
  2. Под полем запроса вы увидите кнопку «Обновить поля».
  3. Нажмите «Конструктор запросов», и новое поле должно появиться в списке вашей таблицы.
person user5297379    schedule 03.09.2015