Базы данных в С++Builder
Я пишу програмулину, в которой (кроме всего прочего) должна быть база данных (которую можно читать, пополнять и изменять). Вопрос состоит в том как её лючше реализовать??? Ну например просто реализовать на основе потоков и файлов (при помощи языка С++), или разработать её на SQL и подключить к проекту??? Может есть какие-то есчо варианты?
Какой вариант будет оптимальней, если сроки очень сжаты???????? :???:
Приветствуюю всё программиское общество!
Я пишу програмулину, в которой (кроме всего прочего) должна быть база данных (которую можно читать, пополнять и изменять). Вопрос состоит в том как её лючше реализовать??? Ну например просто реализовать на основе потоков и файлов (при помощи языка С++), или разработать её на SQL и подключить к проекту??? Может есть какие-то есчо варианты?
Какой вариант будет оптимальней, если сроки очень сжаты???????? :???:
Смотря что за задача. ИМХО, если сроки сжаты, то реализовать ее самому на основе потоков и файлов можно и не успеть. Легче настрогать все таблички, например, в Access или в чем другом, а потом работать с ними через BDE. Очень быстро и удобно.
Смотря что за задача. ИМХО, если сроки сжаты, то реализовать ее самому на основе потоков и файлов можно и не успеть. Легче настрогать все таблички, например, в Access или в чем другом, а потом работать с ними через BDE. Очень быстро и удобно.
А можна по конкретнее про то как работать в BDE c этими табличками?? Это используя Access и ОЛЕ или как???
А можна по конкретнее про то как работать в BDE c этими табличками?? Это используя Access и ОЛЕ или как???
Никакого ОЛЕ не надо. В Builder6 в меню есть след. вкладки (в 5-м они тоже есть, но, по-моему, по другому называются) BDE, DataAccess и DataControls. Все компоненты этих вкладок предназначены для работы с базами данных через BDE. Например, чтобы выполнить запрос к базе данных используется компонент TQuery, и.т.д. Подробнее см. помощь в самом Builder, ну или книжку какую-нибудь, того же Архангельского хотя бы (в сети много можно раздобыть по этой теме). Ты бы поконкретней написал - что ты сделать хочешь.
1)При нажатии кнопочки, на экране появляется (должна появится) новая форма на которой мы видим таблицу из базы данных, всё что мы можем сделать это выделить необходимый нам елемент одним кликом мышки и скопировать его в буфер.
2) Тоже что и в первом, только теперь мы можем изменять и добавлять данные в таблицу.
Ну если конкретно, то :
1)При нажатии кнопочки, на экране появляется (должна появится) новая форма на которой мы видим таблицу из базы данных, всё что мы можем сделать это выделить необходимый нам елемент одним кликом мышки и скопировать его в буфер.
2) Тоже что и в первом, только теперь мы можем изменять и добавлять данные в таблицу.
Почитай про TDBGrid, этот компонент специально сделан для таких случаев как у тебя. Хотя я бы использовал TStringGrid, красиво бы его оформил, а заполнял бы с помощью запросов (компонент TQuery).
Хотя я бы использовал TStringGrid, красиво бы его оформил, а заполнял бы с помощью запросов (компонент TQuery).
Если сроки действительно сжаты, думаю, на извраты времени не будет.
2)Приведите кто-нибудь пример как с нуля создать через билдер базу данных, и как потом добавлять новые таблицы и связи в неё. Спасибо за внимание!
Приведите кто-нибудь пример как с нуля создать через билдер базу данных, и как потом добавлять новые таблицы и связи в неё.
А зачем делать это через Билдер?
ИМХО, обычной практикой является создание базы средствами используемой СУБД, а из программы только ее использование.
Если же приходится создавать таблицы и связи во время выполнения прикладной программы (не инсталлятора) - нужно пересмотреть модель данных. Структура реляционной БД создается один раз - при проектировании. При добавлении новых возможностей в программу возможно также и изменение базы данных. Но решение задачи добавлением новых таблиц и полей - неверно.
Если подождешь до понедельника-вторника, то могу прислать тебе курсовик на 5 по специальности АСУ (моей разработки конечно :)). Там ответ на этот и много других вопросов - может пригодиться (практически все прокомментированно).
А зачем делать это через Билдер?
ИМХО, обычной практикой является создание базы средствами используемой СУБД, а из программы только ее использование.
Если же приходится создавать таблицы и связи во время выполнения прикладной программы (не инсталлятора) - нужно пересмотреть модель данных. Структура реляционной БД создается один раз - при проектировании. При добавлении новых возможностей в программу возможно также и изменение базы данных. Но решение задачи добавлением новых таблиц и полей - неверно.
Остановлюсь тода тока на добавлении данных в базу. А есть у кого то работающие примеры работы с базой MS Access. Или может как-то можно портировать такую базу в другой формат!?
Если подождешь до понедельника-вторника, то могу прислать тебе курсовик на 5 по специальности АСУ (моей разработки конечно :)). Там ответ на этот и много других вопросов - может пригодиться (практически все прокомментированно).
Постараюсь подождать :) как-нибудь. Интересно посмотреть шо там за разработка :)
АСУ- Автоматизированые Системы Управления???
Постараюсь подождать :) как-нибудь. Интересно посмотреть шо там за разработка :)
АСУ- Автоматизированые Системы Управления???
На счет специальности ты правильно угадал (правда это не моя, моя - ЭВТ). Скинь через сообщения форума мне свой адрес - не через форум же исходники слать :).
Хелпы у меня не проинстолины потому глупые вопросы имеются.
Вот как мне в DBGrid загнать результат Query?
Сам знаю что туплю, но как то не идёт у меня.
ЗЫ: а кто нить знает где можно хэлпы скачать а то на диске нету. И ещё где есть хорошая статья о базах данных в Builder6?
Вот как мне в DBGrid загнать результат Query?
C помощью TDataSource, только сперва нужно задать SQL выражение, чтоб можно было определить столбцы grid-a.
http://www.bcbdev.ru/cbuilder.htm
http://bcb.net.ru/books/index.html
C помощью TDataSource, только сперва нужно задать SQL выражение, чтоб можно было определить столбцы grid-a.
http://www.bcbdev.ru/cbuilder.htm
http://bcb.net.ru/books/index.html
А я думаю, что с базой Access лучше работать через ADO. И BDE таскать за собой не нужно и работать удобно.