Lazarus + Firebird

Вопросы программирования и использования среды Lazarus.

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

Re: Lazarus + Firebird

Сообщение lordgray » 12.10.2010 00:45:35

Максим писал(а):Гугол рулит. Ищущий да обрящет. :mrgreen:

Ну а причем тут ZEOS? Ну видел я эти компоненты. Никогда они мне не нравились, но дело не в этом. В общем понятно, помощи ждать неоткого :(
lordgray
новенький
 
Сообщения: 60
Зарегистрирован: 10.10.2010 00:19:11

Re: Lazarus + Firebird

Сообщение Максим » 12.10.2010 01:08:16

lordgray писал(а):Ну а причем тут ZEOS?

А, ну да, лоханулся я. Меня сбило то, что народ активно ZEOS обсуждал. :P

Судя по тому же Гуголу, автором FIBL является Сергей Смирнов. Можете попытаться отправить ему личное сообщение. На форуме он под одноимённым ником.
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 597
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

Re: Lazarus + Firebird

Сообщение lordgray » 12.10.2010 01:18:59

Во, эт уже что-то, Спасибо!
lordgray
новенький
 
Сообщения: 60
Зарегистрирован: 10.10.2010 00:19:11

Re: Lazarus + Firebird

Сообщение qubasesx » 26.03.2011 00:27:36

Люди, подскажите в чём я не прав.
Нужно элементарное - добавить запись в таблицу. Чегой-то у меня не получается.
БД - FireBird, вот ссылка на мою, может она касячная? http://www.onlinedisk.ru/file/633505/
Поставил на форму:
IBConnection, указал :
DatabaseName - C:\1\FIREBASE.FDB
UserName - SYSDBA
Password - masterkey

SQLTranzaction
DataBase - IBConnection

SQLQuery
DataBase - IBConnection
SQL - SELECT * FROM Oborydovanie

Подцепил к этому DBGrid.

Теперь пробую добавить в таблицу данные, а они добавляются в кэш, а в саму таблицу не сохраняются. Пробовал такие варианты:

Код: Выделить всё
procedure TForm1.Button3Click(Sender: TObject);
begin
  SQLQuery1.Append;
  SQLQuery1.FieldByName('Naimenovanie').AsInteger := 9;
  SQLQuery1.FieldByName('Model').AsInteger := 5;
  SQLQuery1.Post;
  SQLQuery1.ApplyUpdates;
  SQLQuery1.Close;
  SQLQuery1.SQL.Clear;
  SQLQuery1.SQL.Text := 'SELECT * FROM OBORYDOVANIE';
  SQLQuery1.Open;
end;


Код: Выделить всё
procedure TForm1.Button4Click(Sender: TObject);
begin
  SQLQuery1.Close;
  SQLQuery1.SQL.Clear;
  SQLQuery1.SQL.Add('INSERT INTO Oborydovanie');
  SQLQuery1.SQL.Add('VALUES (1, 2)');
  SQLQuery1.ExecSQL;
  SQLQuery1.Close;
  SQLQuery1.SQL.Clear;
  SQLQuery1.SQL.Text := 'SELECT * FROM OBORYDOVANIE';
  SQLQuery1.Open;
end;


Ни один не работает, в таблице ничего не сохраняется. Может я базу не правильно сделал?
Последний раз редактировалось qubasesx 26.03.2011 01:16:27, всего редактировалось 1 раз.
qubasesx
новенький
 
Сообщения: 16
Зарегистрирован: 07.03.2011 00:15:34
Откуда: Орехово-Зуево

Re: Lazarus + Firebird

Сообщение Padre_Mortius » 26.03.2011 01:03:56

во-первых, оформите код при помощи тега [code]
во-вторых, используйте компонент TSQLTransaction
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Lazarus + Firebird

Сообщение qubasesx » 26.03.2011 01:20:47

Padre_Mortius писал(а):во-первых, оформите код при помощи тега [code]
во-вторых, используйте компонент TSQLTransaction


Каким образом?
qubasesx
новенький
 
Сообщения: 16
Зарегистрирован: 07.03.2011 00:15:34
Откуда: Орехово-Зуево

Re: Lazarus + Firebird

Сообщение Padre_Mortius » 26.03.2011 01:43:00

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

var AConnection : TSQLConnection;
    ATransaction : TSQLTransaction;

procedure CreateTransaction;
begin
  ATransaction := TSQLTransaction.Create;
  ATransaction.Database := AConnection;
end;

begin
  CreateConnection;
  CreateTransaction;
  AConnection.Transaction := ATransaction;
  AConnection.Open;
  ATransaction.StartTransaction;
  AConnection.ExecuteDirect('create table TBLNAMES (ID integer, NAME varchar(40));');
 
  // Some database-server types need a commit before you can use a newly created table. (Firebird)
  // With .Commit you also close the transaction
  ATransaction.Commit;

  ATransaction.StartTransaction;
  AConnection.ExecuteDirect('insert into TBLNAMES (ID,NAME) values (1,'Name1');');
  AConnection.ExecuteDirect('insert into TBLNAMES (ID,NAME) values (2,'Name2');');
  ATransaction.Commit;
  AConnection.Close;
  AConnection.Free;
  ATransaction.Free;
end.

Пример взят отсюда
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Lazarus + Firebird

Сообщение mkazakov » 24.03.2012 17:06:55

Понимаю что тема старая но кто что использует? :?
mkazakov
новенький
 
Сообщения: 52
Зарегистрирован: 24.02.2012 14:04:14
Откуда: Балаково

Re: Lazarus + Firebird

Сообщение dunin » 24.03.2012 17:13:26

mkazakov писал(а):Понимаю что тема старая но кто что использует? желательно что бы с кодировками проблем не было :?

FireBird 2.5 + lazarus + UIB + FBDataSet + RxDBGrid

в базе
Код: Выделить всё
SET SQL DIALECT 3;
SET NAMES UTF8;
CREATE DATABASE %BASENAME%
USER %BASEUSER% PASSWORD %BASEPASSWORD%
PAGE_SIZE 16384
DEFAULT CHARACTER SET UTF8;
...
Аватара пользователя
dunin
энтузиаст
 
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и

Re: Lazarus + Firebird

Сообщение alexs » 25.03.2012 18:57:21

dunin
Ещё забыл для полного счастья упомянуть IBExpert - это сразу надо, чтобы начинающие разработчики не мучились с другими инструментами.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Lazarus + Firebird

Сообщение dunin » 25.03.2012 19:29:54

alexs писал(а):dunin
Ещё забыл для полного счастья упомянуть IBExpert - это сразу надо, чтобы начинающие разработчики не мучились с другими инструментами.

Верно. :)
Но это как-бы сторонний инструмент, потому и не упоминал.
Виндус - IBExpert. Линукс - FlameRobin.
Аватара пользователя
dunin
энтузиаст
 
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и

Re: Lazarus + Firebird

Сообщение Little_Roo » 25.03.2012 19:33:47

dunin писал(а):
mkazakov писал(а):Понимаю что тема старая но кто что использует? желательно что бы с кодировками проблем не было :?


Firebird 2.5 + lazarus + Zeos 7 + RxDbGrid + RxDbRadioGroup + Rx.....
Код: Выделить всё
codepage=UTF8
hard_commit=yes


Полет нормальный, хотя изначально база в СР1251

Lazarus 0.9.31 r36017 FPC 2.7.1 i386-win32-win32/win64
Аватара пользователя
Little_Roo
энтузиаст
 
Сообщения: 638
Зарегистрирован: 27.02.2009 19:56:36
Откуда: Санкт-Петербург

Re: Lazarus + Firebird

Сообщение alexs » 26.03.2012 07:12:16

dunin писал(а):Виндус - IBExpert. Линукс - FlameRobin.

IBExpert прекрасно работает в линухе под wine. FlameRobin - не дотягивает до уровня эксперта. Там один отладчик процедур/тригеров чего стоит...
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Lazarus + Firebird

Сообщение dunin » 26.03.2012 08:53:08

alexs писал(а):
dunin писал(а):Виндус - IBExpert. Линукс - FlameRobin.

IBExpert прекрасно работает в линухе под wine. FlameRobin - не дотягивает до уровня эксперта. Там один отладчик процедур/тригеров чего стоит...

Мой подход: если надо как следует в БД поковыряться, то уходим в Виндус и там IBExpert-ом отлаживаем. Потом готовый код можно и на Линуксе применять. Wine - еще тот костыль. Там работает - тут не работает, потом (внезапно!) обновился - тут работает - там не работает. Проще Виндуса сразу загрузить.
Аватара пользователя
dunin
энтузиаст
 
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и

Re: Lazarus + Firebird

Сообщение alexs » 26.03.2012 21:42:19

Последние версии вины работают уже достаточно стабильно. Эксперт работает там хорошо.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Пред.След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: sunjob и гости: 28

Рейтинг@Mail.ru