Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.10.2012, 05:23   #1
Defender42
Пользователь
 
Регистрация: 27.12.2008
Сообщений: 89
По умолчанию Удаление записи

обрый день, У меня появилась проблема с удалением когда подцепил квери к базе данных, при удаление выбранной записи удаляется или последняя или первая.
Код:
if form1.LsT.RecordCount <=0 then
 begin
  ShowMessage('Удаление не возможно! Отсутствуют записи!');
  exit;
 end;
if Application.MessageBox('Вы действительно хотите удалить?!','Удаление', MB_ICONQUESTION + MB_YESNO) = mrYes then
 
form1.Lst.Delete;
 
form10.Query1.Active:= false;
form10.Query1.Active:= true;
вот код на удаления.
Defender42 вне форума Ответить с цитированием
Старый 18.10.2012, 08:28   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

что значит - "выбранная" запись? Кем и где выбранная?
по приведённому Вами фрагменту этого не видно.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 18.10.2012, 10:25   #3
Defender42
Пользователь
 
Регистрация: 27.12.2008
Сообщений: 89
По умолчанию

т.е. Я в гриде выбираю запись(ставлю на нее курсор) которую надо удалить, но удаляется любая другая запись.
Defender42 вне форума Ответить с цитированием
Старый 18.10.2012, 10:41   #4
Defender42
Пользователь
 
Регистрация: 27.12.2008
Сообщений: 89
По умолчанию

решил проблему функцией locate
Код:
  form1.LsT.Locate('ID',query1.FieldValues['l_id'],[]);
Defender42 вне форума Ответить с цитированием
Старый 18.10.2012, 10:59   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
т.е. Я в гриде выбираю запись(ставлю на нее курсор) которую надо удалить, но удаляется любая другая запись.

решил проблему функцией locate

Код:
  form1.LsT.Locate('ID',query1.FieldValues['l_id'],[]);
проблема у Вас была в том, что в гриде вы отображали данные из Query1,
а Lst с гридом НИКАК вообще не связано!

p.s. я бы рекомендовал или в гриде отображать данные из LsT, либо удалять данные запросом (через 'Delete from ВашаТаблица where ID = '+query1.FieldValues['l_id']');

p.p.s. впрочем, Ваше решение тоже вполне себе нормальное и рабочее. Если Вас всё устраивает, можете его и оставить...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 18.10.2012, 11:28   #6
Defender42
Пользователь
 
Регистрация: 27.12.2008
Сообщений: 89
По умолчанию

Цитата:
p.s. я бы рекомендовал или в гриде отображать данные из LsT, либо удалять данные запросом (через 'Delete from ВашаТаблица where ID = '+query1.FieldValues['l_id']');
раньше так и было,но мне надо нужен был в гриде адрес полностью прописан,а не Id из другой таблицы,пришлось добавлять квери
Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
проблема у Вас была в том, что в гриде вы отображали данные из Query1,
а Lst с гридом НИКАК вообще не связано!



p.p.s. впрочем, Ваше решение тоже вполне себе нормальное и рабочее. Если Вас всё устраивает, можете его и оставить...
Я пытался сделать через SQL,но Delphi ругался на .asString

Последний раз редактировалось Defender42; 18.10.2012 в 11:30.
Defender42 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
удаление записи из бд D_E_N C/C++ Базы данных 3 22.06.2012 10:35
Удаление записи MAZADA Общие вопросы Delphi 2 14.08.2011 17:09
удаление записи IraPr Microsoft Office Access 2 07.10.2010 17:22
Удаление записи в БД DuM4uK БД в Delphi 2 05.10.2009 15:53
Удаление записи в ListView Небесный Общие вопросы Delphi 1 14.12.2008 22:22