Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.01;
Скачать: CL | DM;

Вниз

IBSQL   Найти похожие ветки 

 
Андре ©   (2002-03-04 12:07) [0]

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


 
fnatali ©   (2002-03-04 14:38) [1]

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


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

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

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".

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



 
Val ©   (2002-03-05 18:55) [3]

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


 
fnatali ©   (2002-03-06 05:53) [4]

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








Страницы: 1 вся ветка

Текущий архив: 2002.04.01;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
3-1
volodya_
2002-03-05 09:17
2002.04.01
Как в Qreport-е посчитать сумму значений по каждой странице?


6-273
eblade
2002-01-16 22:18
2002.04.01
TClientSocket и переопределение OnConnect


1-231
Ivan_A
2002-03-20 16:30
2002.04.01
как проверить что форма убита?


1-174
Dok_3D
2002-03-19 07:28
2002.04.01
XML-файлы большого размера


1-103
deleon
2002-03-21 12:29
2002.04.01
Как в Design-Time перебрать по циклу все формы проекта?