Решено: Postgres в fpc

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Ответить
azsx
энтузиаст
Сообщения: 959
Зарегистрирован: 16.11.2015 05:38:32

Решено: Postgres в fpc

Сообщение azsx »

Не совсем понятно как работать с БД постгрес через консоль. Нет ли у кого нибудь примера? А то в вики я нахожу только примеры с формами, когда на форму бросаются компоненты.
Вот я написал в uses pqconnection; и что дальше?
---
Надо было в коде написать
DataModule1:=TDataModule1.Create(nil);
***
DataModule1.Free;
Последний раз редактировалось azsx 27.08.2016 16:39:25, всего редактировалось 1 раз.
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

В консоле точно также можно использовать DataModule. Вот на нём и размещай визуально все необходимые тебе компоненты.
azsx
энтузиаст
Сообщения: 959
Зарегистрирован: 16.11.2015 05:38:32

Сообщение azsx »

Не могу найти DataModule :(
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Файл/Создать .../Модуль данных
Выглядит как форма - но не форма :-)
Просто удобный не визуальный контейнер для других не визуальных элементов. На нём удобно держать всякие строковые массивы, те же запросы и т.д.
На картинке пример моего одного такого модуля - консольная утилита для переливания данных между сетями и сервисами.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
azsx
энтузиаст
Сообщения: 959
Зарегистрирован: 16.11.2015 05:38:32

Сообщение azsx »

добавил модуль данных. установил на него все библиотеки для постгрес.
Выводит ошибку
external sigsegv
в строке
my_modul.DataModule1.QueryPQ1.SQL.Add(my_select);
Как я понял, мне надо как-то зарегистрировать модуль как класс. А как это сделать? В uses программы я его прописал
uses my_modul;
Последний раз редактировалось azsx 25.08.2016 08:56:33, всего редактировалось 1 раз.
Аватара пользователя
DYUMON
постоялец
Сообщения: 234
Зарегистрирован: 11.03.2009 12:32:54
Контактная информация:

Сообщение DYUMON »

а ты datamodule создаешь в коде? перед тем как использовать компоненты с него?
azsx
энтузиаст
Сообщения: 959
Зарегистрирован: 16.11.2015 05:38:32

Сообщение azsx »

Нет, я не умею. Я uses my_modul; написал.

Добавлено спустя 8 часов 56 минут 33 секунды:
Как было бы здорово, если кто-нибудь хоть чуть чуть бы помог. Вот значимая часть кода

Код: Выделить всё

program shingl3;
uses
  cthreads, Classes, s_modul, LAZUTF8;

procedure shingl3();
var
  z_select_text_html : string;

begin
  z_select_text_html := 'SELECT * FROM public.test WHERE id_test = 10 limit 1;';
  s_modul.DataModule1.QueryPQ1.SQL.Add(z_select_text_html);     

То есть когда я в процедуре нажимаю точку в s_modul. у меня выходит подсказка TDataModul и DataModule1. Далее я также иду по подсказкам. Вот что или как мне надо зарегистрировать в моем модуле данных, который называется s_modul?
Аватара пользователя
WAYFARER
энтузиаст
Сообщения: 567
Зарегистрирован: 09.10.2009 00:00:04
Откуда: г. Курган

Сообщение WAYFARER »

Код: Выделить всё

program shingl3;
uses
  cthreads, Classes, s_modul, LAZUTF8;

procedure shingl3();
var
  z_select_text_html : string;
  DataModule1: TDataModule;

begin
  DataModule1:= TDataModule.Create(nil);
  z_select_text_html := 'SELECT * FROM public.test WHERE id_test = 10 limit 1;';
  s_modul.DataModule1.QueryPQ1.SQL.Add(z_select_text_html);     
  ...
  DataModule1.Free;
Ответить