|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.04.2014, 09:55 | #1 |
Пользователь
Регистрация: 06.03.2013
Сообщений: 12
|
Обновление данных
Доброго времени суток программисты. Нужна ваша помощь, т.к застрял на одном месте в программе из-за плохого знания sql запросов и ADO технологии. Сейчас подробно напишу, что именно я не могу понять:
У меня есть 2 базы данных(идентичные, все имена таблиц и полей совпадают, только название самих БД разное). Главная БД = ДляОО.accdr (В ней есть заполненные таблицы) Вторая БД = Главная.mdb (в ней нету никаких данных, таблицы чистые) Через программу я переношу данные из таблиц,которые находится в БД ДляОО.accdr в БД Главная.mdb. Но теперь самое главное. Я все данные перенес из ДляОО.accdr в Главная.mdb, но мне скинули другой вариант БД ДляОО.accdr - там несколько значений других(Например средняя зп рабочего и количество рабочих). Если я перенесу данные снова из одной бд в другую, то в главной у меня будет две строки данных. А мне нужно,чтобы данные,которые я первый раз перенес - обновились. Многие говорят,что через Update нужно делать запросы и использовать UpdateSQL. Помогите пожалуйста |
10.04.2014, 11:50 | #2 |
Не судите строго
Форумчанин
Регистрация: 31.03.2011
Сообщений: 202
|
Пробуй что то вроде этого
Код:
|
10.04.2014, 12:48 | #3 |
Пользователь
Регистрация: 06.03.2013
Сообщений: 12
|
Смотри в чем еще может быть проблема, я описал для двух таблиц , на самом деле их может быть много - т.е как тогда идет обновление данных?
|
10.04.2014, 14:52 | #4 | |
Не судите строго
Форумчанин
Регистрация: 31.03.2011
Сообщений: 202
|
Цитата:
Код:
|
|
11.04.2014, 09:51 | #5 |
Пользователь
Регистрация: 06.03.2013
Сообщений: 12
|
Блин, неправильно написал в предыдущем посте. У меня не несколько таблиц, а несколько БД
Сейчас приведу пример Главная.mdb - пока что чистые таблицы. ДляОО.accdr - имеет несколько таблиц(но это не важно,главное пока что для одной какой-нибудь сделать) Таблица_0_Ответственный_за_Эссад Наименование ОО ФИО Телефон email Асбестовский политехникум Иванов И.И 333-33-33 n@gmail.ru Данные перенеслись в Главная.mdb - теперь там есть одна запись Далее удаляем БД из которые уже перенесли данные и переносим вторую Бд с именем ДляОО.accdr в этой бд имеется так же много таблиц(они в каждой БД одинаковые) Таблица_0_Ответственный_за_Эссад Наименование ОО ФИО Телефон email Богдановичский политехникум Петров П.П 444-44-44 g@gmail.ru Все данные перенеслись, теперь в Главная.mdb в таблице Таблица_0_Ответственный_за_Эссад имеется 2 записи Наименование ОО ФИО Телефон email Асбестовский политехникум Иванов И.И 333-33-33 n@gmail.ru Богдановичский политехникум Петров П.П 444-44-44 g@gmail.ru Теперь мне прислали измененную БД ДляОО.accdr Наименование ОО ФИО Телефон email Асбестовский политехникум Иванов И.В 333-55-66 n@gmail.ru Вот теперь мне нужно обновить данные именно по этому Образовательному организации. Чтобы получилось в Главная.mdb Наименование ОО ФИО Телефон email Асбестовский политехникум Иванов И.В 333-55-66 n@gmail.ru Богдановичский политехникум Петров П.П 444-44-44 g@gmail.ru Сейчас у меня программа просто добавит еще одну запись, т.к там только перенос существует пока что. |
11.04.2014, 09:57 | #6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
В таблице должен быть какой-то ключ, однозначно идентифицирующий каждую запись. Если такового нет, то полный швах. Если есть - записи найденные по ключу обновлять UPDATE-ом, не найденные - добавлять INSERT-ом
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
11.04.2014, 10:41 | #7 |
Пользователь
Регистрация: 06.03.2013
Сообщений: 12
|
Хм...Смотри, в таблице Таблица_0_Ответственный_за_Эссад в поле у меня идет выборка из таблицы Перечень_ОО. Просто может я не понимаю как именно сделать ключ, но добавил новое поле , назвал его Ключ - тип данных счетчик. Т.е для каждоый таблицы нужно делать ключ? Если да, то как делать ключ для поля, где идет выборка?
Последний раз редактировалось HelloExp; 11.04.2014 в 10:45. |
11.04.2014, 10:54 | #8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Ключи должны быть и в таблице-источнике и в таблице-приемнике. И не обязательно это суррогатный ключ. С суррогатным, кстати, в данном случае могут быть проблемы. Идея в чем - по ключу из таблицы-источника ищется запись в таблице-приемнике и выполняются соответствующее действие в зависимости от результата поиска. Ключевое поле не обязательно одно. Примерно так
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
обновление данных | -=Andriushka=- | Visual C++ | 0 | 04.11.2013 16:56 |
Обновление данных в БД. | Slavdholl | PHP | 3 | 29.04.2011 17:38 |
Обновление списка данных без потери данных в переменных | VaBank | БД в Delphi | 13 | 03.06.2009 10:47 |
обновление данных | AnGrig | БД в Delphi | 3 | 14.10.2007 13:08 |
Обновление данных в БД | EdNovice | БД в Delphi | 4 | 26.06.2007 14:35 |