![]() |
|
Модераторы: gambit |
![]()
|
|
| aromm |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 13.11.2007 Репутация: нет Всего: нет |
Добрый день!
Я практически разработал универсальное приложение для работы с БД на основе нетипизированного DS. Но! меня интересует возможно ли загрузить все созданные в БД отношения (не зная их)? |
|||
|
||||
| thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
В ДатаСете присутствуют две коллекции: DataTableCollection и DataRelationCollection.
Первая содержит таблицы, вторая может содержать DataRelation между ними. Посмотри как создаются обьекты DataRelation и все станет ясно. Ответ на твой вопрос кроется в необходимых параметрах для создания этих обектов. Не зная параметров, не возможно создать обьект. Добавлено через 2 минуты и 46 секунд Почитать можно тут Добавлено через 5 минут и 32 секунды и тут. Причем здесь видно, что не зная по каким полям связаны таблицы в Бд не возможно задать связи в ДатаСет -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
| aromm |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 13.11.2007 Репутация: нет Всего: нет |
Возможно, я не очень понял, но в представленных Вами примерах связи задаются вручную. Но я изначально не знаю какая у меня БД и соответственно не могу знать ее структуры и связей. Как тогда мне быть? Возможно есть системная таблица, которая хранит связи? |
|||
|
||||
| tol05 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 11 Всего: 170 |
Я могу ошибаться, но ИМХО это стоит попробовать
-------------------- На хорошей работе и сны хорошие снятся. |
|||
|
||||
| thomas |
|
||||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
Как я понял, из всего что там написанно.
Этот метод возвращает
что означает - какие столбцы содержит таблица БД, какого типа и так далее. Но не схему связей таблиц БД. Схему связей таблиц БД может содержать файл xsd, который(при наличии) часто используют для создания типизированного дата сета. Добавлено @ 13:54 Вот в этой статье расписано как заполнить ДатаСет. И там говориться о методе FillSсhema следующее
И никаких упоминаний о связях таблиц в самой БД. Тут возникает вопрос, достаточно ли информации о наличии данных о первичных ключах в таблицах БД чтобы создать обьекты DataRelation в ДатаСет? Мне кажеться что нет. Потому как вторичный ключ может иметь совершенно отличное наименование от первичного ключа с которым он связан. Добавлено @ 13:58 Здесь описывается как получить ДатаСет на основании данных из XML, т.е. из файла xsd. Это сообщение отредактировал(а) thomas - 13.11.2007, 13:58 -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
||||
|
|||||
| thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
aromm,
Мне думается, надо двигаться в направлении xsd. Без этого создать связи в ДатаСет не имея понятия о кол-ве и связях таблиц в БД наверное просто не возможно. Вот еще посмотри ЭТО, и далее это. -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
| Papirus |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 298 Регистрация: 19.4.2005 Где: Санкт-Петербург Репутация: нет Всего: 1 |
Может быть поможет выборка данных из системных таблиц БД? В случае SQL server 2000 - sysobjects, например...
|
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |