Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

IBSQL


Андре ©   (2002-03-04 12:07:00) 

Как я понял IBSQL только read only. Для создания изменяемых выборок данных в хелпе предлагают использовать IBUpdateSQL. Не могли бы вы подсказать, как пользоваться этим компонентом, или подскажите, где пример посмотреть можно.


fnatali   (2002-03-06 05:53:00) [1]

В таблице table1 сделай primary key(например a) и update делай по нему
update table1
set
A=:A,
B=:B
where
A:=OLD_A
должно получиться.
"Update Failed" возникает при обновлении, если пытаются обновить или много записей сразу, или ни одной. Обновление должно производиться только по одной уникальной записи, имхо.






Val   (2002-03-05 18:55:00) [2]

Для простых редактируемых выборок можно использовать IBQuery,
IBDataSet.
IBUpdateSQL-для редактирования сложных выборок с группировками, из нескольких таблиц, аггр. функциями и т.д.


Андре   (2002-03-05 18:46:00) [3]

Допустим у меня есть следующая таблица:

create table table1 (a integer,b integer)

Я делаю из нее выборку в TIBQuery, например:

select * from table where a>10

Результат выборки вывожу на Grid. Результат запроса естественно read-only и я не как не могу изменять значения полей в Grid"е, а хотелось бы.

Помещаю на форму TIBUpdateSQL. Свойству UpdateObject компоненты TIBSQL присваиваю значение TIBUpdateSQL. Щелкаю на нем два раза - по умолчанию на Modify генерится следующий скрипт:

update table1
set
A=:A,
B=:B
where
A:=OLD_A and
B:=OLD_B

Если я запускаю программу и пытаюсь изменить какое либо значение в таблице - появляется сообщение об ошибке - "Update Failed".

Подскажите пожалуйста - в чем ошибка, и что нужно сделать, чтобы просто иметь возможность изменять значения в полях выборки ??


fnatali   (2002-03-04 14:38:00) [4]

В IBQuery напиши запрос, например select * from table1.
Затем в свойстве UpdateObject укажи IBUpdateSQL. При правом клике на этом компоненте появится UpdateSQL Editor. В нём нужно сформировать SQL скрипты для обновления, удаления, добавления записей. В принципе, всё.


Наверх

Титульная страница Поиск, карта сайта Написать письмо