Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 09.08.2010, 18:11
Аватар для Alexei12
Alexei12 Alexei12 вне форума
Прохожий
 
Регистрация: 02.01.2010
Сообщения: 14
Репутация: 10
Сообщение Как сделать Commit? Delphi + Ehlib + Firebird.

Приветствую всех.
Как сделать Commit, если я юзаю компоненты из Ehlib?
Например,подключаю DBNavigator, MemTableEh, TDbGridEh и т.д. и т.п.
... ,DataSource, IBDatabase, IBTransaction.
Нажимаю на "+",вставляю запись. Жму на галочку. Все нормально запись
добавилась. Но как сохранить изменения, через IBTransaction?
В IBTransaction установил Read/Write.
В примерах из стандартной поставки этого нету (в смысле сохранения
изменений). СУБД Firebird 2.1.
И что за временные файлы с расширением *.MB образуются при работе с базой?

И ещё вопрос, если можно
У меня на 1 ПК стоят одновременно Delphi 7 и 2010.
Поставил Ehlib v5.0.02 на Delphi 7 - всё отлично работает.
Поставил на Delphi 2010 - не все примеры запускаются. После компиляции и запуска примера с TreeView - ошибка из класса EdbEngine
"Cannot load driver" - не может загрузить драйвер. При этом если Delphi 2010 запущен и запущен Delphi 7,то в D7 выходит та же ошибка. Может я bpl не так поставил/не поставил в D2010? А так скомпилировал нормально. Там есть 2 bpl Design Time и 2 др. bpl. Как вот эти 2 bpl правильно поставить в D2010. Что посоветуете?
Ответить с цитированием
  #2  
Старый 09.08.2010, 22:12
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,052
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

1. Если у тебя у IBTransaction стоит ватоматический коммит, то он будет выполнен автоматически. Надо просто поставить соотв. Commit в св-ве AutoAction (кажется так).
2. Если ты управляешь транзакциями вручную, то, соответсвенно, надо вызывать StartTransaction и Commit/Rollback у соотв. компонента IBTransaction.

По поводу примеров. Возможны проблемы как с самой библиотекой (2010 типа вся из себя юникодная и некоторый код просто может работать неправильно), так и проблемы с драйвером БД (какая технология доступа к данным используется?) Возможно просто драйвер для 2010 несовместим с 7.
Еще одна проблема - если не ошибаюсь, то при компиляции Дельфи помещает копии *.bpl в системную папку винды. Соответсвенно, bpl, собранная для 2010 не годится для 7 и vice verse. Т.е. изначально пакеты для 7 и 2010 должны иметь разные имена.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:24.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter