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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.07.2014, 01:56   #1
IsmaiLka
 
Регистрация: 19.10.2013
Сообщений: 5
По умолчанию удаление записи в dbgrid через sql запрос delphi

Есть процедура удаления записи (строки) из дбгрида через sql-запрос. Просьба помочь обнаружить и при возможности исправить мой косяк. При запуске выходит уведомление отладчика debugger exception notification.
Код:
procedure TfrmResume.btnDelResumeClick(Sender: TObject);
begin
try
if Query1.Active then Close;
Query1.SQL.Clear; 
Query1.Sql.Add('delete * from resumee where field='+
DBGrid1.Fields[0].AsString); 
Query1.ExecSQL;
except
on E:Exception do
ShowMessage(E.Message);
end;
end.

Последний раз редактировалось Stilet; 08.07.2014 в 08:01.
IsmaiLka вне форума Ответить с цитированием
Старый 08.07.2014, 08:03   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
выходит уведомление отладчика debugger exception notification.
А дальше? Закрыл ты это уведомление - какая ошибка вылезает после ?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.07.2014, 22:10   #3
IsmaiLka
 
Регистрация: 19.10.2013
Сообщений: 5
По умолчанию

access violation at address in module
IsmaiLka вне форума Ответить с цитированием
Старый 08.07.2014, 22:50   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Значит вместо DBGrid1 пиши имя компонента. к которому он привязан, тем паче что по хорошему пишется так:
Код:
DBGrid1.DataSource.DataSet.Fields[0].AsString
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.07.2014, 22:58   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

А DBGrid1 не нацелен случайно на тот же Query1, который до этого деактивирован?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 08.07.2014, 23:05   #6
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,876
По умолчанию

А грид откуда данные читает ? Может там пустой или неактивный датасет, или может он читает прямо из Query1 ? Тогда в момент выполнения этого кода попытка читать строку и приводит к ошибке. Как вариант можно до закрытия квери запомнить эту строку в переменную и подставлять в запрос именно переменную.
Также я бы добавил переоткрытие набора данных для грида в конце этой процедуры, чтобы отобразить новое состояние таблицы (уже без удалённой записи).
пс. блин, опять не обновил топик перед постом.
phomm вне форума Ответить с цитированием
Старый 08.07.2014, 23:19   #7
IsmaiLka
 
Регистрация: 19.10.2013
Сообщений: 5
По умолчанию

Огромное спасибо.
IsmaiLka вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как проверить наличие записи с через SQL запрос Dux БД в Delphi 19 23.08.2015 03:42
Добавление записи из одного DBGrid в другой DBGrid c помощью кнопки, а также удаление записи Evgen7 БД в Delphi 20 16.02.2014 17:05
Удаление записи из DBGrid через запрос manula БД в Delphi 1 23.05.2012 10:48
Удаление данных из таблицы через SQL запрос Kity19 БД в Delphi 2 19.01.2011 23:35
Создание новых таблиц в MS SQL SERVERE через SQL запрос в Delphi S_Yevgeniy Помощь студентам 1 27.10.2009 06:26