Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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" возникает при обновлении, если пытаются обновить или много записей сразу, или ни одной. Обновление должно производиться только по одной уникальной записи, имхо.








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

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

Наверх





Память: 0.45 MB
Время: 0.004 c
1-209
Evgenyk
2002-03-10 16:35
2002.04.01
Как программно получить данные о версии файла ?


1-166
NLO
2002-03-19 10:18
2002.04.01
Object Inspector


1-212
serg
2002-03-20 13:02
2002.04.01
TClass из ClassName


3-69
Huliganka
2002-03-06 21:27
2002.04.01
Delphi & MS SQL server


1-135
Romik
2002-03-21 20:10
2002.04.01
Caption у формы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский