![]() |
|
Модераторы: diadiavova, gambit |
![]()
|
|
| yur1221 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 28.6.2011 Репутация: нет Всего: нет |
Всем привет.
Заполняю DataGridView с помощью SQL запроса, в которjм объединяются 2 базы. Что-то меняю в дата гриде, хочу проапдейтить базы. Естественно он мне пишет: "Динамическое создание SQL для нескольких базовых таблиц не поддерживается". А как тогда лучше поступить, подскажите плиз? Код:
|
|||
|
||||
| yur1221 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 28.6.2011 Репутация: нет Всего: нет |
Совсем нет идей :(
|
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
Идеи есть, но сам их не пробовал. Попробуй обновлять не весь датасет, а таблицы поотдельности. В дизайнере датасета добавь к адаптерам таблиц соответствующие запросы и выполняй их. Ну это если речь об идее, а готового решения нет -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| yur1221 |
|
||||||||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 28.6.2011 Репутация: нет Всего: нет |
Я пробовал создавать мастером tableadapter'ы, первый вытаскивает данные из 1 таблицы, второй из второй. В первом tableadapter'е задаю запрос объединения таблиц, типа как
затем заливаю адаптеры в датасеты:
потом заполняю датагрид:
в датагрид все встает прекрасно, но если я меняю в датагриде данные из первой и второй таблицы и затем апдейчу, менятся только первая таблица.. в принципе логично ,т.к. DataGridView1.DataSource = Me.TestDataSet.good А как же мне сделать так чтобы менялось и во второй табле тоже? код апдейта:
|
||||||||
|
|||||||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
Ну вообще-то, хранить однотипные данные надо в одном месте, поэтому я уж не знаю, какая такая необходимость в том, чтобы использовать для этого разные базы. Но если уж кровь с носа нужно, то придется львиную долю работы вручную делать. Я бы добавил в датасет еще одну таблицу, в которой будут содержаться данные из обеих таблиц, связанными с базами. После заполнения таблиц из баз, данные вручную передавать в это таблицу, в ней, по всей видимости, еще надо будет сделать поле, в котором будет указано, из какой базы эта запись. При обновлении раскидывать данные из этой таблицы по адаптерам, связанным с базами и уже из них выполнять обновление. Правда тут еще надо определить, куда пихать данные, которые были добавлены во время редактирования, но я полагаю у тебя есть ответ на этот вопрос.
А вообще, лучше создать одну базу, если это возможно. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| yur1221 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 28.6.2011 Репутация: нет Всего: нет |
Мдя.. гимор еще тот
|
|||
|
||||
| yur1221 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 28.6.2011 Репутация: нет Всего: нет |
diadiavova только щас внимательно прочитал ответ , у меня база одна.. таблицы 2 юзается. Вот как бы мне при использовании отношений 2-х таблиц, связать их, вывести в датагриде и проапдейтить каждую в отдельности. Выводить получается, апдейтить тоже.. но только ту таблицу, которая заполняет датагрид первой |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
Не должно быть в одной базе двух таблиц с одинаковым набором полей. Это грубая ошибка при проектировании базы данных. Забей все в одну таблицу в базе и проблемы не будет. Если надо разделить данные таблиц, то добавь в эту общую таблицу еще одно поле, в котом укажи параметр, по которому данные различаются. Все эти действия не предусмотрены именно потому, что так никто не делает и для этого вся эта система не приспособлена. Можно сделать через жо руками, но зачем?
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| yur1221 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 28.6.2011 Репутация: нет Всего: нет |
Я мб не так что-то обьяснил? У меня нет одинаковых наборов. 1 таблица- это товар и его производитель, 2- это свойство товара (цена, количество и т.д.) 2 таблица связана со второй по ключевому полю goodid= полю id во второй таблице.
Почему по разным таблицам- потому что из первой юзается имя товара гдето еще, и производитель..чтобы не плодить одинаковые поля в других таблицах Это сообщение отредактировал(а) yur1221 - 8.7.2011, 23:39 |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
А что происходить при апдейте второй таблицы?
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| yur1221 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 28.6.2011 Репутация: нет Всего: нет |
Должно происходить или происходит? 1)Должна обновлятся так же как и первая, при внесении изменений в датагриде 2) А она ессно не обновляется ,т.к. в датагрид заливается дататейбл из первой таблицы с соотвествущим запросом там о чем я писал чуть выше:
Честно говоря мне это нужно позарез осуществить. Хотя бы куда закинуть удочки.. чтото мыслей уже не осталось. Это сообщение отредактировал(а) yur1221 - 8.7.2011, 23:54 |
||||
|
|||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
Я что-то видимо не понимаю. В гриде у тебя первая таблица, изменения ты вносишь в нее же, обновляется тоже она, а вопрос в том, почему не обновляется вторая? Толи ты чего-то не договариваешь, толи я уже не соображаю. А составить пример небольшой можешь, чтобы я посмотрел, а то так можно долго говорить и ни до чего не договориться. Но это уже не сегодня ессно. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| yur1221 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 28.6.2011 Репутация: нет Всего: нет |
Пример- ехе-шник скомпилировать?
|
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
Что я с ним буду делать? Проект посмотреть, где у тебя есть эта проблема. Ну маленькую базу там сделай с похожей структурой, грид, и функции программы, которые задействованы в твоей проблеме. Чтобы я имел представление о чем мы говорим. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| yur1221 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 28.6.2011 Репутация: нет Всего: нет |
Вот архив с проектом и базой. Пароль от архива в личке. Гляньте, плиз, что можно сделать.
Присоединённый файл ( Кол-во скачиваний: 6 )
Projects.rar 968,14 Kb |
|||
|
||||
![]()
|
| Правила форума VB .NET | |
|
|
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |