![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Удаление записи на которой находится курсор [D6, Paradox]
Леонид © (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;