![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Заблокирован
Регистрация: 04.07.2011
Сообщений: 261
|
![]()
Здравствуйте!
Возникла пара вопросов по Delphi + Firebird: 1. Многие функции в программе связанные с БД, например выборки или установка значений (через FIBDataset или FIBQuery) итд срабатывают со второго раза, то есть заходим в программу - первый раз не срабатывает, со второго раза и далее работает нормально. Очевидно какой-то компонент связи с БД (DB? Dataset? Datasource?) неактивен, после первой команды просыпается, и вторую команду уже обрабатывает нормально. Пока только начинаю разбираться с БД - прошу подсказать как решить данную проблему? в каком компоненте искать и какой параметр? может написать что-то при включении программы вида all.datasets.prepare ? 2. Есть форма, в ней невизуальный объект FIBDataset с уже настроенными командами SQL. В конце ввода данных в форме происходит - Dataset.Post, но в случае ввода новых данных оптимально Insert, а в случае исправления данных в форме оптимально Update... пробую писать очевидную вещь: Dataset.Insert и Dataset.Update, но Delphi ругается на Dataset.Update - говорит такого не знает. Там есть разные варианты начинающиеся на Dataset.Upd.... подскажите какой из них оптимально использовать? 3. В БД процедура вида insert into ..... values (....., 'менеджер ' add coalesce(:name_a,:name_b,:name_c)); Так якобы неправильно, пробовал вместо "add" писать "+", но всё равно ошибка. Как правильно написать, чтобы отправлялось значение собранное из текста {'менеджер '} и {coalesce(:name_a,:name_b,:name_c)} ?? Последний раз редактировалось delphicoding; 02.08.2011 в 19:24. |
![]() |
![]() |
![]() |
#2 |
Заблокирован
Регистрация: 04.07.2011
Сообщений: 261
|
![]()
Вопросы 2-3 решены.
А вопрос 1 не решён. Вот опять вызов хранимой процедуры через FIBStoredProc срабатывает только со второго раза: Код:
Поковырял настройки FIBPlus Каждой процедуре и датасету в FIB назначается DB, которой в свою очередь назначаются 2 так называемые FIBTransaction - Read и Write. При этом по-сути и параметрами они идентичны, кроме одного параметра "Active" - для Write он почему-то выключен... может в этом дело? Какие есть предположения почему мог быть установлен Write Active = False ??? Собственно изменение Write Active = True результата не дало - всё равно некоторые действия с БД работают только со второго раза! |
![]() |
![]() |
![]() |
#3 |
Холост/Не замужем
Форумчанин
Регистрация: 13.11.2007
Сообщений: 283
|
![]()
Покажи что у тебя в свойстве SQL понаписано компонента dm.spOfficesEdit
|
![]() |
![]() |
![]() |
#4 |
Заблокирован
Регистрация: 04.07.2011
Сообщений: 261
|
![]()
Вот настройки см.вложение.
Столкнулся с совершенно банальной проблемой - нужно join несколько таблиц, всё понятно, но в одном месте непонятно - нужно два раза привязать к таблице A таблицу-справочник B по параметрам on A.id1=B.id on A.id2=B.id чтобы в итоге для A.id1 и A.id1 получить B.name ввиде двух разных значений A.name1 и A.name2 Написать всё могу, но вот что писать в select и как объяснить SQL, что нужно два разных значения - не представляю и код всё время вызывает ошибку! Подскажите кто разбирается! |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]() Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#6 |
Заблокирован
Регистрация: 04.07.2011
Сообщений: 261
|
![]()
Гы, как просто-то, спасибо! :D
|
![]() |
![]() |
![]() |
#7 |
Заблокирован
Регистрация: 04.07.2011
Сообщений: 261
|
![]() |
![]() |
![]() |
![]() |
#8 |
Холост/Не замужем
Форумчанин
Регистрация: 13.11.2007
Сообщений: 283
|
![]()
Соображений на вопросах не построишь, выкладывай исходники
|
![]() |
![]() |
![]() |
#9 |
Заблокирован
Регистрация: 04.07.2011
Сообщений: 261
|
![]()
Это врядли возможно.
|
![]() |
![]() |
![]() |
#10 |
Холост/Не замужем
Форумчанин
Регистрация: 13.11.2007
Сообщений: 283
|
![]()
Тоже самое и я могу сказать...
Ты не даешь не какой информации для анализа и хочешь чтобы тебе помогли |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Пара вопросов | [Smarik] | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 7 | 18.04.2008 14:28 |
Пара простых вопросов | BETONOMESHALKA | Общие вопросы Delphi | 2 | 27.01.2008 10:30 |
Пара вопросов | xak2 | Общие вопросы Delphi | 6 | 08.05.2007 20:58 |
пара вопросов | Trooper | Общие вопросы Delphi | 3 | 05.11.2006 17:56 |