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

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

Как в IBDataSet удалить запись? [D6, IB6.x, FireBird]


кило ©   (2003-02-11 18:01:00) 

как удалить запись, т.е. как передать параметр в DeleteSQL и потом его запустить?


Жук   (2003-02-12 13:00:00) [1]

Это вопрос принципиального понимания назначения компонентов доступа. Теоретически в DeleteSQL можно всунуть любой запрос, и он будет выполнятся при DataSet.Delete.


Кило   (2003-02-12 11:43:00) [2]

2 Жук
Этот же параметр и в DeleteSQL, InsertSQL...


Жук   (2003-02-12 11:39:00) [3]

>>кило
>>ParamByName("ID").AsInteger := 5;


Кило   (2003-02-12 11:12:00) [4]

2 АлександрИзПерми
Ок, тут я не прав, с таким позиционированием курсора, сделаю по ID, но как нормально передать параметр.


АлександрИзПерми   (2003-02-12 11:08:00) [5]

Если "NAME_OPERATION"не является первичным ключом, вам нехорошо.
При работе с SQL без первичного ключа делать нечего.


Кило(АУ)   (2003-02-12 10:51:00) [6]

Ну что разве никто не столкнулся с такой проблемой?


Кило   (2003-02-12 10:01:00) [7]

5 я написал от фонаря, у меня там выбирается из списка, который актуальный на даное время.


ЮЮ   (2003-02-12 09:59:00) [8]

>Кило (12.02.03 09:43)
А если такой записи нет, то удалится какая-то другая :-)


Кило   (2003-02-12 09:57:00) [9]

Нет, а что как-то передать ID в DeleteQL нельзя, кроме позиционирования?
Ну там типа:
ParamByName("ID").AsInteger := 5;


Жук   (2003-02-12 09:53:00) [10]

Если в DeleteSQL прописано удаление текущей записи, то что же вы хотите ? Удаляйте кверёй.


Кило   (2003-02-12 09:43:00) [11]

Ну я делаю так:
with dm.IBDataSet do
begin
Locate("NAME_OPERATION",Edit1.Text,[]);
Delete;
end;

Но это же изврат. А как передать ID, что другим способом нельзя как позиционированием курсора?


Johnmen   (2003-02-12 00:19:00) [12]

Стандартное применение
DELETE FROM <...> WHERE ID=:ID
где :ID - параметр, значение которого берется из текущей записи IBDataSet"а для поля с именем ID (обычно уникально).
Запускается автоматом при выполнении метода IBDataSet.Delete.


Наверх

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