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

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

Удаление записи на которой находится курсор [D6, Paradox]


Страницы:   1 2 3

Леонид ©   (2005-05-31 12:19:00) 

Вообщем такая проблема, хоть и стыдно, но не знаю как сделать или пример где посмотреть.
Имеется Grid в котором данные отображены с TQuery.
Имеется кнопка "Удалить" хочу по нажатию на кнопку удалить строку которая выделена.
В таблице есть уникальное поле RN.

Вопрос только как получить мне значение этого поля, чтобы передать затем в динамич. запрос на удаление...


ANB   (2005-05-31 12:58:00) [41]

Удивительно, что не вывалилась ошибка.
Уже писали же Query1.FieldByName
Ты же пытаешься достать поле из запроса удаления. Откуда оно там возьмется ?
К какому дэйтасету у тебя грид привязан ?


Леонид   (2005-05-31 12:53:00) [42]

DM.Kip.SQL.Clear;
 DM.Kip.SQL.ADD('delete from pribor where RN=:RN');
 DM.Kip.ParamByName('RN').AsInteger:=DM.Kip.FieldByName('RN').AsInteger;
 K:=IntToStr(DM.Kip.FieldByName('RN').AsInteger);
 ShowMessage(k);

Вот сделал. Решил проверить. И в результате в ShowMessage всегда 0. :(


Сайбель Алексей   (2005-05-31 12:48:00) [43]

2
Воспользуйся советом:
Sergey13 © [1]
потом просто:
Query1.Delete;
удалиться запись на которой сейчас находиться курсор.


Sergey13   (2005-05-31 12:47:00) [44]

2[3] Леонид   (31.05.05 12:39)
А не Kip у тебя случайно в гриде отображается? Иначе навиг бы ему KipDS.


Антоныч   (2005-05-31 12:45:00) [45]


> FieldByName - мне не доступно.

В смысле, не появляется в окне дополнения кода? А ты напиши ручками, заработает. С FieldByName такое бывает.
DM.Kip.ParamByName('RN').AsInteger:=Query1.FieldByName('RN').AsInteger;

Напиши, должно заработать


Леонид   (2005-05-31 12:39:00) [46]

FieldByName - мне не доступно.
Вообщем поточнее обясню.
В гриде отображены все записи, столбы в по нужному только отсортированы.

DM - DataModule
Kip - TQuery
KipDS - TDataSourse

Вот код кнопки "Удалить"


 DM.Kip.SQL.Clear;
 DM.Kip.SQL.ADD('delete from pribor where RN=:RN');
 DM.Kip.ParamByName('RN').AsInteger:='не знаю как получить значение';
 DM.Kip.ExecSQL;


Так еще и не понял как получить значение поля RN, строка которая в данный момент выделена.


Sergey13   (2005-05-31 12:26:00) [47]

Заополнить правильно свойства TUpdateSQL. Потом достаточно Delete.


Антоныч   (2005-05-31 12:26:00) [48]

Если в запросе поле упоминалось, то простым обращением к нему:
tmp:=Query1.FieldByName('RN').AsInteger;


Страницы:   1 2 3

Наверх

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