![]() |
|
Модераторы: gambit |
![]()
|
|
| guro |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 24.4.2009 Репутация: нет Всего: нет |
Всем привет.
Задача: 1) Установить соединение с удаленной базой MySQL; 2) Получить набор данных; 3) Сохранить полученые данные в локальной базе MSAccess. Сделано и работает: 1) , 2) а вот с 3 пунктом проблема. Проект на C# 2008. В проекте создана xsd схема clientsDataSet, в которой присутствуют все таблицы из локальной mdb. Так же в проекте присутствует dataGridView, который ассоциирован с clientsDataSet
Поискал на форуме что-то похожее, нашел вот эту тему http://forum.vingrad.ru/forum/topic-165417/unread-1.html Есть предположение, что проблема схожа, но как решить незнаю. Возможно есть другой путь решения. Жду помощи) |
|||
|
||||
| guro |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 24.4.2009 Репутация: нет Всего: нет |
Стоило написать на форуме)), как вскоре пришла идея. Магическая сила форума помогла мне
Добавил в foreach строчку, которая принудительно устанавливает RowState в состояние Added. Коряво, но работает.
Это хорошо, что у меня сейчас только добавляются данные, но может получиться что в БД уже существуют загружаемые строки. Может всётаки кто нибудь знает более красивый способ занесения данных из DataSet в БД? |
|||
|
||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 15 Всего: 62 |
||||
|
||||
| 1stain |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 486 Регистрация: 30.7.2007 Где: Киев - Харьков Репутация: 5 Всего: 40 |
ну так используй один датасет: прочитал из ацесс, потом туда же прочитал из мускула и записал в ацесс -------------------- Все знают, что это невозможно. Но вот приходит невежда, которому это неизвестно - он-то и делает открытие. (Albert Einstein) ![]() |
|||
|
||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 15 Всего: 62 |
То есть Вы предлагаете при каждом обновлении полностью считывать в DataSet базу из Access? Хм... Задача выглядит как кросс-СУБД'шная репликация... Чем вызвана такая потребность? Было бы гораздо проще использовать одну и ту же СУБД и воспользоваться стандартными средставами репликации. |
|||
|
||||
| guro |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 24.4.2009 Репутация: нет Всего: нет |
Согласен, проще. Я бы так и сделал, верней даже не так. А просто использовал бы основную рабочую базу (MySQL) и брал из неё данные в приложение. Но человек поставивший мне задачу, хочет иметь некую часть (список пользователей и их данные) основной базы (MySQL) у себя, скажем так, на флешке. |
|||
|
||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 15 Всего: 62 |
guro, хм... а поднять у него MySQL нельзя?
Добавлено через 3 минуты и 45 секунд Хотя если на флешке... |
|||
|
||||
| guro |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 24.4.2009 Репутация: нет Всего: нет |
В связи с недостатком личного контакта с этим человеком, не могу его убедить использовать вебинтерфейс для поставленой задачи. Вот и ищу способ решения.
|
|||
|
||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 15 Всего: 62 |
Постарайтесь все-таки найти личный контакт с заказчиком, ибо синхронизация разнородных баз - это огромный костыль. Если возьметесь реализовывать, наверняка возникнут косяки с кодировками, несоответствием типов и т. д. А веб-интерфейс - отличное решение: 1. Доступ есть отовсюду (нужен лишь интернет). В случае же с Access'ом нужен полноценный комп (насколько я знаю, даже под WinMobile нет реализации Access; я уж не говорю про обычные сотовые). 2. Всегда доступны актуальные данные (а не данные, полученные при последней синхронизации) 3. Можно сэкономить на флешке |
|||
|
||||
| Lite |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 19.2.2009 Репутация: нет Всего: -9 |
Модератор: Сообщение скрыто. |
|||
|
||||
| guro |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 24.4.2009 Репутация: нет Всего: нет |
Обновлю темку.
Есть такой метод LoadDataRow - Находит и обновляет конкретную строку. Если нужная строка не найдена, то с помощью заданных значений создается новая строка.
Вопрос решен. Всем спасибо за участие. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [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. |