Автор Тема: Lazarus / Как создать простую базу данных и подключить её к форме ?  (Прочитано 21470 раз)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 147
    • Email
Может пойти от задачи?
Или цель - научиться делать БД для какой-либо СУБД на Lazarus?
Может быть...
Вообще нужно сделать несложную программу. Проект на формах я накидал, но вот с базами очень туго, то ли я... то ли лыжи не едут :)
Странно, что в базу не могу ни одной записи даже создать, я рядом просто проект создал: база с одной таблицей и стандартные компоненты для работы с базой. Но затык, и тут не получается добавить запись...
Сноси Винду, переходи на Линукс ! :)

Оффлайн YYY

  • Мастер
  • ***
  • Сообщений: 5 972
Всем привет! Кто может подсказать по созданию базы данных в sqlitestudio ? Проект в Lazarus могу приложить.

а почему в ней?
я базу создавал из Qt-шной прожки - вроде норм... И лазарус сам должен уметь это делать...

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 147
    • Email
а почему в ней?
я базу создавал из Qt-шной прожки - вроде норм... И лазарус сам должен уметь это делать...
Вот тут по первой ссылке http://forum.altlinux.org/index.php/topic,33317.msg238564.html#msg238564
Что за прожка ?
Про Лазарус -- не знаю как там базы делать...
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 147
    • Email
На Windows проверил создать базу через тот же sqlitestudio и поработать с базой через Lazarus -- проблема такая же, изменения не вносятся в базу.
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 147
    • Email
В общем буду на Delphi 7 пробовать... там и EhLib и ADO...
А то времени нет на долгое ковыряние... да ещё и на одном месте...
Всем спасибо.
Сноси Винду, переходи на Линукс ! :)

Оффлайн YYY

  • Мастер
  • ***
  • Сообщений: 5 972
хоть бы пример скинули

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 147
    • Email
хоть бы пример скинули
Да, конечно (см. вложения).
База my_my.db3.
Сноси Винду, переходи на Линукс ! :)

Оффлайн neobht

  • Завсегдатай
  • *
  • Сообщений: 390
примерно так самая простая БД на Lazarus (аналогично Delphi):
1. На форму следующие компоненты: TDataSource, TMemDataset (или другой dataset), TDBGrid (и другие элементы TDB...)
2. В Datasource свойство dataset в выбранный dataset
3. В DBGrid свойство datasource в выбранный datasource.

Все!

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 147
    • Email
Все!
А где же DatabaseName прописывать ? И самое главное: как саму базу создать (файл), чтобы его к Connector'у прицепить ?
Я же проект приложил выше, с этим проблем нет, сейчас не получается даже данные в базу внести после установления всех связей компонентов...
Сноси Винду, переходи на Линукс ! :)

Оффлайн neobht

  • Завсегдатай
  • *
  • Сообщений: 390
А вот это уже зависит от конкретной субд.
В простом варианте - где таблицы не имеют связей, ничего специально создавать не нужно. Компоненты сами начнут записывать данные в выбранный файл свойства dataset.

Оффлайн YYY

  • Мастер
  • ***
  • Сообщений: 5 972
Все!
А где же DatabaseName прописывать ? И самое главное: как саму базу создать (файл), чтобы его к Connector'у прицепить ?
Я же проект приложил выше, с этим проблем нет, сейчас не получается даже данные в базу внести после установления всех связей компонентов...

до работы доберусь сегодня и проверю - дома лазаруса нету

Оффлайн Rik

  • Давно тут
  • **
  • Сообщений: 186
    • Визуальные технологии
Я бы FireBird рекомендовал. Но в Linux, для манипулирования базами и метаданными, IBExpert придется в Wine запускать..
Возможно поможет видео:
http://youtu.be/EES8aXxwAoI
Все что есть на видео, воспроизводится в Lazarus.
« Последнее редактирование: 04.11.2014 13:57:39 от Rik »
visual-t.ru Кросс-платформенные технологии визуальной разработки ПО.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 926
    • Домашняя страница
    • Email
А не проще sqlite использовать?
Андрей Черепанов (cas@)

Оффлайн Rik

  • Давно тут
  • **
  • Сообщений: 186
    • Визуальные технологии
А не проще sqlite использовать?
Конечно, зависит от задач, но sqlite - встраиваемая база данных, возможно со временем понадобятся клиент-серверные возможности, не стоит от этого зарекаться. Кроме того, FireBird так-же существует в варианте Embeded, что делает его таким-же встраиваемым решением без установки самого сервера, но он легко может быть переведен в полноценный клиент-серверный вариант, не переписывая при этом ни строчки кода.
visual-t.ru Кросс-платформенные технологии визуальной разработки ПО.

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 147
    • Email
С SQLite3 вроде бы разобрался, всё норм.

Теперь интересует работа приложения по сети.
То есть база хранится на сервере, а на клиентах запускается приложение, которое цепляется к этой базе.
Также нужно реализовать разграничение доступа и многопользовательский доступ.

Честно, даже не знаю с чего начать...
Кто-что может подсказать/посоветовать ?

Может кто-то посоветует что-то прочитать про БД.

Заранее спасибо.
Сноси Винду, переходи на Линукс ! :)