66 / 66 / 29
Регистрация: 13.02.2011
Сообщений: 392
|
|
1 | |
Базы данных в Lazarus14.10.2011, 15:03. Показов 29799. Ответов 27
Метки нет (Все метки)
Хочу написать какую-нибудь программу на Lazarus'е... еще никогда не пробовал писать базы данных. Хотелось бы создать нечто наподобие базы данных "По красивым местам планеты", ну или что-то в этом роде для тренировки. Но встает такой вопрос. Я вычитал в книжке Никиты Культина "Delphi в задачах и примерах", что "для того, чтобы программа могла работать с базами данных, на компьютере должен быть установлен процессор баз данных Borland Database Engine(BDE).На компьютер программиста BDE устанавливается в процессе установки Delphi". В итоге возникли вопросы и сомнения:
-Как быть в Лазарусе? Устанавливается ли подобный движок, при установке Лазарус? -Если да, то как его прописывать? -Есть ли книжки по поводу написания баз данных в Лазарусе? Если есть киньте пожалуйста ссылку и саму книжку Буду очень признателен
0
|
14.10.2011, 15:03 | |
Ответы с готовыми решениями:
27
Lazarus 2.0.2 падает при активации базы TDbf Как в Lazarus создать диаграмму используя TChart с информацией из базы Firebird? Не отображаются Display Label в таблице. Вместо них имена полей базы. Lazarus + SQLite Как сравнить переменную со строкой базы данных или как присвоить переменной значение строки базы данных ? |
7 / 7 / 0
Регистрация: 12.03.2010
Сообщений: 40
|
|
14.10.2011, 17:45 | 2 |
BDE в Лазарусе отсутствует. И слава б-гу, ибо технология устаревшая и некроссплатформенная.
Вместо этого можно работать с MySQL, в ней куча всего интересного. Краткое введение А это в целом про компоненты и принципы работы Ещё чуть-чуть Хороших книг про Lazarus+MySQL не припомню. В принципе, можно начать читать любую книгу по MySQL (типа этой), а потом читать wiki с сайта Lazarus, пробовать писать и гуглить, если что-то не получается.
1
|
3 / 3 / 11
Регистрация: 17.01.2013
Сообщений: 354
|
|
08.10.2014, 17:02 | 3 |
Чё темы однотипные плодить, здесь спрошу.
Ссылки прочёл, примеров нет, поэтому так и не понял как саму базу-то создать и подключить к форме ? ОС Linux + Lazarus. Как-то делал такое в Delphi через ADO, база была MS Access 2003. Блин, инфы мало про Lazarus... для Delphi на раз гуглятся простые (школьные) примеры для чайников...
0
|
129 / 129 / 41
Регистрация: 17.10.2013
Сообщений: 335
|
|
09.10.2014, 08:54 | 4 |
berkut_174, для примера (стандартные компоненты). я использую связку rxlib+zeos и сервер mysql в локалке. для создания базы удобнее использовать редакторы - тот же phpmyadmin, heidisql...
1
|
3 / 3 / 11
Регистрация: 17.01.2013
Сообщений: 354
|
|
09.10.2014, 09:24 | 5 |
Это хорошо, но я даже не пойму какого формата должна быть база данных и куда нужно вписать имя файла с базой и через какие программы создавать. Я выше писал, что делал через ADO. Саму базу я создавал в MSO Access, кидал её в папку с проектом, размещал порядка трёх элементов на форме + grid, делал несколько тыканий мышкой и в grid'е моя таблица отображалась, а тут как ?
Компоненты разместил, связи настроил, остановился на этапе подключения базы, потому что там не написано какого формата должна быть база и как её создать... у меня никакого сервера нет. Не понял что это... можно через LO Calc/Base базу создать ? Для меня много непонятного... увы... Спасибо.
0
|
129 / 129 / 41
Регистрация: 17.10.2013
Сообщений: 335
|
|
09.10.2014, 10:36 | 6 |
тогда можно воспользоваться sqlite'ом и для создания базы, например, взять sqlitestudio. тогда и "вписать имя файла с базой" в поле DatabaseName sqlconnector'а можно...
вот простой проект на стандартных компонентах для работы с базой sqlite3
1
|
3 / 3 / 11
Регистрация: 17.01.2013
Сообщений: 354
|
|
09.10.2014, 16:04 | 7 |
Не могу найти, где указать какую таблицу читать из базы...
Я в вашем проекте у компонента SQLConnector меняю свойство DatabaseName на своё, потом у компонента SQLQuery хочу сменить свойство Active на true, но получаю ошибку: "no such table: myfirsttable". Если же я в базе свою таблицу называю myfirsttable, то всё открывается. Подскажите, какое свойство и у какого элемента нужно сменить ? Вроде бы всё прошарил, но нет нигде myfirsttable. Заранее спасибо. Добавлено через 5 минут На силу нашёл. У компонента SQLQuery свойство SQL, нужно добавить запрос 'SELECT * from Table1'
0
|
3 / 3 / 11
Регистрация: 17.01.2013
Сообщений: 354
|
|
19.10.2014, 16:57 | 8 |
Подскажите, какой тип данных выбирать для текста ? Я в sqlitestudio выбираю TEXT, но в Lazarus у меня вместо текста в ячейке -- (MEMO).
INTEGER отображается нормально. Спасибо. Добавлено через 11 минут UPD: решение здесь http://freepascal.ru/forum/vie... =31&t=9638
0
|
129 / 129 / 41
Регистрация: 17.10.2013
Сообщений: 335
|
|
20.10.2014, 08:20 | 9 |
berkut_174, VARCHAR
1
|
3 / 3 / 11
Регистрация: 17.01.2013
Сообщений: 354
|
||||||
23.10.2014, 18:39 | 10 | |||||
Разобрался уже, спасибо.
Тут такое дело, не получается добавить всё поле в Items элемента ComboBox. На главной форме делаю так:
Спасибо.
0
|
129 / 129 / 41
Регистрация: 17.10.2013
Сообщений: 335
|
||||||
24.10.2014, 00:41 | 11 | |||||
нужен цикл для перебора всех значений (запрос с DISTINCT оставит уникальные)
1
|
3 / 3 / 11
Регистрация: 17.01.2013
Сообщений: 354
|
|||||||||||
25.10.2014, 16:57 | 12 | ||||||||||
Странно то, что на Delphi у меня так работало...
Также и с подсчётом количества, на Delphi так делал:
Добавлено через 2 часа 8 минут Конкретно вот так делаю:
SQLQuery1 : Field not found : "fio_c". В Delphi так работает, гуглю капитально, везде так советуют, но у меня на Lazarus так не работает... Добавлено через 21 час 39 минут Последний вопрос снят, у меня SQLQuery был привязан к DBGrid, поэтому были проблемы.
0
|
3 / 3 / 11
Регистрация: 17.01.2013
Сообщений: 354
|
|
03.11.2014, 14:39 | 13 |
Всем привет! Если я проект приложу, сможет мне кто-нибудь подсказать ? Есть вопросы по структуре базы данных и связях между таблицами.
Добавлено через 19 часов 45 минут Чё-то даже в вашем проекте не могу добавить хоть одну запись, после нажатия на Post на Navigator вроде бы всё норм, но после нажатия Refresh -- все записи исчезают. Как быть то ?
0
|
129 / 129 / 41
Регистрация: 17.10.2013
Сообщений: 335
|
|
05.11.2014, 14:41 | 14 |
berkut_174, скачал по ссылке пример - Refresh отрабатывает без ошибок, ничего не исчезает...
0
|
3 / 3 / 11
Регистрация: 17.01.2013
Сообщений: 354
|
|
05.11.2014, 14:59 | 15 |
Да Refresh то отрабатывает, дело не в этом. Я на Navigator жму + (добавить), заполняю поля, потом жму галку (применить изменения). Закрываю программу, заново открываю, а тех данных, которые я внёс -- НЕТ. То есть изменения вносимые мной через программу НЕ вносятся в базу. Почему так ?
0
|
129 / 129 / 41
Регистрация: 17.10.2013
Сообщений: 335
|
||||||
05.11.2014, 15:06 | 16 | |||||
подтверждение транзакции выполняется?
0
|
3 / 3 / 11
Регистрация: 17.01.2013
Сообщений: 354
|
|
05.11.2014, 21:03 | 17 |
Сделал кнопульку, туда эти две команды внёс, при запуске программы вношу новую запись, жму галку, потом на кнопульку (где две команды), вылазит ошибка (см. вложения).
0
|
129 / 129 / 41
Регистрация: 17.10.2013
Сообщений: 335
|
|
05.11.2014, 21:13 | 18 |
можно проект посмотреть?
0
|
3 / 3 / 11
Регистрация: 17.01.2013
Сообщений: 354
|
|
05.11.2014, 22:37 | 19 |
0
|
5 / 5 / 5
Регистрация: 15.08.2013
Сообщений: 46
|
|
06.11.2014, 07:57 | 20 |
berkut_174, Вот пример работы с SQLite db_std_cmpnts.7z
1
|
06.11.2014, 07:57 | |
06.11.2014, 07:57 | |
Помогаю со студенческими работами здесь
20
Подключение базы данных из MS SQL Server к Lazarus Как в Lazarus можно сделать отчёт базы данных? Использование псевдопеременных: bd (3,5) = s, где bd - база данных, s - элемент базы данных, тогда с 3 по 5 элементы базы данных заменить на элемент s. При открытии базы данных FoxPro в приложение Delphi возникает ошибка драйвера внешней базы данных (8961) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |