![]() |
![]() |
Правила Форума редакция от 22.06.2020 |
|
|
|
|
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
![]() |
![]() |
![]() |
![]() Какие особенности использования транзакций Fibplus, если приложение имеет несколько форм. Притом каждая форма возвращает данные из своего компонента Dataset. Не могу установить больше одной транзакции. Постоянно эта ошибка "transaction is active".
Материалов набрал прямо из Dervace, но толком ничего не нашел как расположить транзакцию в приложении с несколькими формами. ![]() Помогите! |
|
![]() |
![]() ![]() |
Реклама: | горшок с автополивом купить | садовая деревянная мебель | тент для садовых качелей | лупа эшенбах мобилюкс 12 5х купить | биоумывальник |
![]() |
![]() |
Новичок
Пол: ![]() Регистрация: 26.11.2006
Сообщений: 26
Репутация: 4
|
![]() По подробнее, какую базу ты используешь: локальную или сетевую (клиент-серверную)
|
![]() |
![]() ![]() |
![]() |
![]() |
![]() Подключение сетевое. Приложение под клиента!
|
|
![]() |
![]() ![]() |
![]() |
![]() |
Неактивный пользователь
Пол: ![]() Регистрация: 15.05.2007
Сообщений: 21
Репутация: 9
|
![]() 1. Поставь на каждую форму два компонента транзакций. В самом pFibDataSet свойство Transaction подключи к первому компоненту транзакций, свойство UpdateTransaction - к второму. 2. В pFibDataSet не забуть поставить свойство AutoCommit = True Если ошибка будет продолжаться, то могу залить на рапиде FibPlus 6.8, которым сам пользуюсь и нету никаких проблем. |
![]() |
![]() ![]() |
Сказали спасибо: |
![]() |
![]() |
![]() Lubomyr, А можно пример кода, запуска приложения. А то тоже самое. Когда ставлю pFibDataSet на другой форме то немогу запустить SQL генератор. Тоже самое.
В обеих вариантах pFibDataSet обращается к той же таблице базы данных. Мне интересно как сделать pFibDataSet активным, или уже ставить в процессе разработки свойство Active:=true; |
|
![]() |
![]() ![]() |
![]() |
![]() |
Неактивный пользователь
Пол: ![]() Регистрация: 15.05.2007
Сообщений: 21
Репутация: 9
|
![]() Livand
1. Советую свойство Active := True ставить в событии OnCreateForm, а не на этапе разработки. 2. На счет примера. Напиши мне свой мейл и я пришлю пример кода. 3. На счет SQL генератор. Его использовать не обязательно. Есть в TpFibDataSet свойство которое заствляет автоматически генерировать TpFibDataSet свойства DeleteSQL, InsertSQL, UpdateSQL. Его название не помню, завтра инсталирую Delphi с фибом и тебе напишу. |
![]() |
![]() ![]() |
Сказали спасибо: |
![]() |
![]() |
Неактивный пользователь
Пол: ![]() Регистрация: 15.05.2007
Сообщений: 21
Репутация: 9
|
![]() В нас на сервере файервол блокирует всплывающие окна. Поэтому я понял, что ты что-то отправил, а что именно не знаю. Напиши на мэйл:
940"][email protected] На счет того чтобы не генерировать SQL для Refresh, Insert, Update: есть свойство AutoUpdateOptions. В нем нужно настроить следующее: AutoParamsToFields = True;{всегда} AutoReWriteSqls = True;{всегда} KeyFields= <через точку с запятой перечисляешь поля, которые входят в Primary Key>; UpdateTableName=<имя таблицы>; UpdateOnlyModifiedFields=True;{всегда} |
![]() |
![]() ![]() |
Сказали спасибо: |
![]() |
![]() |
Неактивный пользователь
Пол: ![]() Регистрация: 17.01.2008
Сообщений: 27
Репутация: 4
|
![]() Если 6.8 не патченая - то это ошибка в компонентах.
Если версия 6.7 или более ранняя - то вы что-то не то делаете. Смотрите доку и демки в комплекте... |
![]() |
![]() ![]() |
![]() |
![]() |
Новичок
Пол: ![]() Регистрация: 26.11.2007
Сообщений: 27
Репутация: 20
|
![]() А что нельзя разве проверить активная транзакция или нет?
Если активная закрываешь, сделал то что тебе надо, открыл транзакцию и все дела... |
![]() |
![]() ![]() |
![]() |
![]() |
![]() Рекомендуется использовать две тразакции: одна читающая, другая пишущая (свойство UpdateTransaction). Читающая транзакция постоянно открыта, пишущая же открывается только на момент записи.
Лично мне удобнее хранить все компоненты, относящиеся к БД, на отдельной форме DataModule (borland рекомендует ![]() На счет активизации наборов данных. Это тормозит приложение перед запуском и вызывает неприятные ошибки (их трудно обработать корректно). Поэтому я использую этот метод: For i:= 0 to dmTBS.ComponentCount - 1 do begin // ShowMessage(dmTBS.Components[i].ClassName); If (dmTBS.Components[i].ClassName = 'TpFIBDataSet') or (dmTBS.Components[i].ClassName = 'TpFIBQuery') then TFIBDataSet(dmTBS.Components[i]).Active:= true; end; |
|
![]() |
![]() ![]() |
![]() |
![]() |
Неактивный пользователь
Пол: ![]() Регистрация: 15.05.2007
Сообщений: 21
Репутация: 9
|
![]() Livand. Извини, пока не было времени создать пример. В понедельник сделаю. Советую скачать такие книги (я учился по ним):
1. http://rapidshare.com/files/71359040...raarhiv.ru.rar 2. Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/Firebird/Yaffil (2-е издание) (с CD-ROM) Алексей Ковязин, Сергей Востриков (к сожалению не могу найти ссылку) Последний раз редактировалось pluton; 02.02.2008 в 16:28.. Причина: скрываем линки |
![]() |
![]() ![]() |
![]() |
![]() |
Неактивный пользователь
Пол: ![]() Регистрация: 15.05.2007
Сообщений: 21
Репутация: 9
|
![]() livand, нашел ссылку на книгу "Мир Interbase"
http://rs41.rapidshare.com/files/30485734/InterBaseFirebird_Yaffil_WarezOk.Ru.rar Чем она примечательна ? Тем, что есть целый раздел по использованию FibPlus. Думаю прочитав ее больше проблем с фибами у тебя не будет. |
![]() |
![]() ![]() |
Сказали спасибо: |
![]() |
![]() |
Неактивный пользователь
Пол: ![]() Регистрация: 15.05.2007
Сообщений: 21
Репутация: 9
|
![]() Livand,
Вот линк на компакт-диск, который находится в комплекте с этой книгой. Там примеры программ. Посмотри, может пригодится. http://rapidshare.com/files/92461109...base.part1.rar http://rapidshare.com/files/92474168...base.part2.rar http://rapidshare.com/files/92540484...base.part3.rar http://rapidshare.com/files/92547308...base.part4.rar http://rapidshare.com/files/92551558...base.part5.rar |
![]() |
![]() ![]() |
![]() |
Опции темы | Поиск в этой теме |
Опции просмотра | |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
В приложении "Generic Host Process for Win32 Services" произошла ошибка. | fruktof | Windows 200x Server | 9 | 11.08.2011 10:53 |
Журнал: "Guadros" /"Genefas" / "Toallas" (en punto de cruz) | IGLENA | Вышивка | 4 | 26.09.2010 20:41 |
|
|