|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.01.2011, 22:44 | #1 |
Пользователь
Регистрация: 27.12.2010
Сообщений: 17
|
Что лучше организовать добавление данных? БД Access
БД - Access, состоит из 2-х таблиц Info_reisa и Punkt_naznachenia. Ключевые поля №_Reisa_I и №_Reisa_P
Через Editы добавляю данные в таблицу Info_reisa, но так Рейс 1, а вот населенных пунктов через которые он проходит - несколько, и не всегда одинаковое число, по этому на форму Добавления, бессмысленно размещать кучу Editов. Я думаю воспользоваться DBGrid - это реально? Или что-то другое лучше применить? |
25.01.2011, 13:24 | #2 |
Пользователь
Регистрация: 27.12.2010
Сообщений: 17
|
чем вы пользуетесь для добавления разного числа данных???
|
25.01.2011, 14:38 | #3 |
Форумчанин
Регистрация: 27.09.2010
Сообщений: 376
|
Здравствуйте
1. Организация данных. В БД создаётся отношение один-ко-многим. Со стороны "один" - таблица Info_reisa, со стороны "многим" - таблица Punkt_naznachenia. 2. Как реализовать в Delphi. Например, поместить на форму две таблицы скажем: Info_reisaADOTable и Punkt_naznacheniaADOTable. В свойствах Punkt_naznacheniaADOTable указываем в MasterSource на DataSource, связанный с Info_reisaADOTable и MasterField (№_Reisa_I). Думаю в таблице Punkt_naznachenia к этому моменту вы уже создали внешний ключ по полю №_Reisa_I. 3. Отображение данных. В основном так и делают. Думаю связать DBGrid с DataSource, связанному с Punkt_naznacheniaADOTable Вы сможете. (не говорю уж об ADOConnection...). До свидания. P.S. В общем Ваш вопрос касается отношения Master-Detail (один-ко-многим). |
25.01.2011, 15:08 | #4 | |
Пользователь
Регистрация: 27.12.2010
Сообщений: 17
|
Цитата:
У меня сейчас проблема с добавлением во вторую таблицу. И так, БД Access, в ней 2 таблицы Info_reisa (№_Reisa_I, Marshrut, Vrema_otpravlenia и т.д.) и таблица Punkt_naznachenia (№_Reisa_P, Punkt_naznachenia, Vrema_prebitia, Cena_bileta и т.д.) Связь один ко многим от первой таблице ко второй через №_Reisa_I и №_Reisa_P Код добавления в таблицу Info_reisa: Код:
И вот думаю, что лучше использовать? ___________ Код нужно оформлять по правилам: тегом [CODE]..[/СODE] (это кнопочка с решёточкой #) Не забывайте об этом! Модератор. Последний раз редактировалось Serge_Bliznykov; 25.01.2011 в 15:29. |
|
25.01.2011, 16:16 | #5 | ||
Форумчанин
Регистрация: 27.09.2010
Сообщений: 376
|
Здравствуйте
1. Сравним: Цитата:
Цитата:
Это отношение один-к-одному... 2. DBEdit и DBGrid - не устраивает или "круче" написать 2^N строк кода До свидания. P.S. Извините за напоминание: "В общем Ваш вопрос касается отношения Master-Detail (один-ко-многим)." |
||
25.01.2011, 21:06 | #6 |
Пользователь
Регистрация: 27.12.2010
Сообщений: 17
|
подождите! )))
В моем случае одному значению поля №_Reisa_I может соответствовать несколько значений поля №_Reisa_P. Вроде это и получается один-ко-многим! |
25.01.2011, 21:12 | #7 |
Пользователь
Регистрация: 27.12.2010
Сообщений: 17
|
Но суть вопроса не в этом.
Через что добавлять данные в таблицу Punkt_naznachenia? Я понимаю что DBGrid служит для показа содержимого БД, а можно в DBGrid вносить данные, чтобы он сохранялись в БД? (именно не редактировать, а добавлять) Последний раз редактировалось Choovak; 25.01.2011 в 21:15. |
26.01.2011, 01:07 | #8 | |
Подтвердите свой е-майл
Регистрация: 19.12.2010
Сообщений: 808
|
То Choovak
Для начала (вы уж извините старика) нужно было бы почитать правила... Там доступно для всех разъясняется о существовании эдакой кнопотули - "Правка". Так что все ваши "изыски" идут прямым путем под определение"Флуд"... Это так, "промежду протчим"... Цитата:
Извольте делать "ручками" ! Вот когда доберетесь до серверных баз данных, тогда перед вами откроются невиданные перспективы - сохраняемые процедуры, реакции БД при помощи триггеров и многое, многое другое... А пока - "ручками" сэ-э-эр... Это вы уже чуток освоили (если судить по стартовому постику)... Так что пока что придется именно так... Последний раз редактировалось asmodey1; 26.01.2011 в 01:09. |
|
26.01.2011, 15:46 | #9 | |
Форумчанин
Регистрация: 27.09.2010
Сообщений: 376
|
Здравствуйте
Цитата:
Кликните на линии связи на Схеме данных, кликните на Изменить и посмотрите, что внизу написано. А конкретно "Тип отношения:". Там будет написано "один-к-одному". До свидания. P.S. Смотрите C:\Program Files\Borland\Delphi7\Demos\Ado\Ado Test\ADOTEST.DPR Выберите File->Open Table и попробуйте вводить данные. Спорить не собираюсь. |
|
26.01.2011, 23:25 | #10 |
Пользователь
Регистрация: 27.12.2010
Сообщений: 17
|
Специально для Олега пришлось запускать Access, смотреть: Один-ко-многим. Поскольку бд сюда не прикрепить сделал скриншот
Как добавлять в подчиненную таблицу? Я не знаю как быть с ключевым полем? Последний раз редактировалось Choovak; 27.01.2011 в 21:49. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Что лучше организовать добавление данных? БД Access | Choovak | БД в Delphi | 0 | 23.01.2011 19:39 |
как лучше организовать базу данных | ilin-alex | Помощь студентам | 3 | 31.03.2010 12:51 |
Пишу программу которая ищет файлы на компьютере ! Как лучше организовать структуры данных ? | asked86 | Общие вопросы Delphi | 13 | 14.12.2008 19:33 |
HML или ACCESS что лучше использовать? | Inbox | БД в Delphi | 2 | 15.05.2007 19:13 |