Показать сообщение отдельно
  #1  
Старый 02.08.2011, 18:24
delphicoding delphicoding вне форума
Активный
 
Регистрация: 04.07.2011
Сообщения: 206
Репутация: -461
Вопрос Пара простых вопросов по Delphi + БД

Здравствуйте!

Возникла пара вопросов по 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)} ??
Ответить с цитированием