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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.02.2012, 21:00   #1
DEamON_M
 
Аватар для DEamON_M
 
Регистрация: 28.10.2011
Сообщений: 7
По умолчанию Ошибка при удалении записи из БД MySQL

Код ошибки:
Код:
First chance exception at $75739673. Exception class EDatabaseError with message 'SQLQuery7: Cursor not returned from Query'. Process SkyNote.exe (2688)
Код программы:
Код:
DM.SQLQuery7.Active:=False;
DM.SQLQuery7.ParamByName('FriendIDDel').AsInteger:=DBCtrlGrid2.DataSource.DataSet.FieldByName('ID').AsInteger;
DM.SQLQuery7.ExecSQL;
DM.SQLQuery7.Active:=True;
SQL запрос:
Код:
DELETE
FROM Friends
WHERE ID=:FriendIDDel;
Ошибка показывает на DM.SQLQuery7.ExecSQL
Странно, он пишет, что ничего не получил, хотя и не должен. Сама запись удаляется как и должна.
Прошу оказать помощь в решении данной проблемы. Заранее спасибо.
DEamON_M вне форума Ответить с цитированием
Старый 25.02.2012, 21:08   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А точно ошибка на ExecSQL? Что-то мне кажется она на следующей команде, которая там ни к селу, ни к городу
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 25.02.2012, 21:12   #3
DEamON_M
 
Аватар для DEamON_M
 
Регистрация: 28.10.2011
Сообщений: 7
По умолчанию

Дальше там только End. Я опечатался, он на End ставит ошибку

Последний раз редактировалось DEamON_M; 25.02.2012 в 21:15.
DEamON_M вне форума Ответить с цитированием
Старый 25.02.2012, 21:16   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Какой end? После ExecSQL я вижу команду DM.SQLQuery7.Active:=True;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 25.02.2012, 21:39   #5
DEamON_M
 
Аватар для DEamON_M
 
Регистрация: 28.10.2011
Сообщений: 7
По умолчанию

Вся процедура выглядит так
Код:
procedure TSNV.BitBtn6Click(Sender: TObject);
begin
  if MessageBox(Handle, PChar('Удалить эту запись?'), PChar('Удаление записи'),
    MB_ICONQUESTION + MB_YESNO + MB_DEFBUTTON2) = mrYes then
  begin
    DM.SQLQuery7.Active:=False;
    DM.SQLQuery7.ParamByName('FriendIDDel').AsInteger:=DBCtrlGrid2.DataSource.DataSet.FieldByName('ID').AsInteger;
    DM.SQLQuery7.ExecSQL;
    DM.SQLQuery7.Active:=True;
  end;
end;
Вот компилятор тыкает на последний end; и выдаёт эту ошибку
DEamON_M вне форума Ответить с цитированием
Старый 25.02.2012, 21:43   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Третий раз пишу - у вас лишняя команда DM.SQLQuery7.Active:=True
Откройте справку и почитайте для чего и когда используются методы ExecSQL, Open, Close и свойство Active.

DM.SQLQuery7.Active:=False скорее всего тоже не нужно, если до этого Query не был открыт для SELECT-а. И где вы сам запрос на удаление засунули в Query?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 25.02.2012 в 21:47.
Аватар вне форума Ответить с цитированием
Старый 25.02.2012, 22:00   #7
DEamON_M
 
Аватар для DEamON_M
 
Регистрация: 28.10.2011
Сообщений: 7
По умолчанию

Почитал документы. Теперь всё ясно, я то думал, что это немного по другому работает.
Благодарю за быструю помощь, теперь всё работает.
DEamON_M вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DBE Проверка на наличие связанных данных при удалении записи teapot C/C++ Базы данных 4 25.02.2012 19:13
master has detail records cannot delete or modify при удалении записи hunter03 БД в Delphi 5 30.03.2011 22:23
ошибка при удалении символа Virus191288 Общие вопросы Delphi 13 15.08.2009 14:50
Проблема со значением поля-счетчика при удалении записи RammFan БД в Delphi 11 02.04.2009 22:54
Ошибка при удалении... JRcoker Общие вопросы Delphi 8 29.07.2008 22:53