Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];




Вниз

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" возникает при обновлении, если пытаются обновить или много записей сразу, или ни одной. Обновление должно производиться только по одной уникальной записи, имхо.








Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.022 c
14-313            madburro              2002-02-15 22:47  2002.04.01  
Optical mouse


3-13              Bura                  2002-03-05 17:50  2002.04.01  
Select в IB


7-321             Aleksandr             2001-12-28 11:08  2002.04.01  
Как узнать, крупный или мелкий экранный шрифт установлен в системе?


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


1-155             SB.John               2002-03-21 12:47  2002.04.01  
как узнать сколько памяти занимает какой-либо объект?