Главная страница
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.47 MB
Время: 0.011 c
7-337
Pagan
2001-12-28 11:52
2002.04.01
Номер сетевой платы


3-38
zje
2002-03-06 17:23
2002.04.01
MSSQL и ADOQuery с параметром типа TDateTime


3-51
pm
2002-03-07 14:26
2002.04.01
Скопировать строку в таблицу


3-24
de
2002-03-06 14:52
2002.04.01
Как сделать выпадающий список в DBGridEh?


1-247
AlexanderS
2002-03-20 23:31
2002.04.01
Как получить значение переменной окружения TEMP?