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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.06.2012, 11:08   #1
BioNoob
 
Регистрация: 05.06.2012
Сообщений: 8
Печаль Ошибка синтаксиса в инструкции Update

помогите плиз найти ошибку вот код:
Код:
with datamodule1.ADOQuery2 do
   begin
     sql.Clear;
     SQL.Text:='SELECT * FROM logins WHERE Fio=' +#39 + form1.label2.caption + #39+' AND password=' + #39 + LabeledEdit2.Text + #39;
     open;
     if  Recordset.EOF then
     begin
       Application.MessageBox('Ïðîâåðüòå èìÿ ïîëüçîâàòåëÿ èëè ïàðîëü','Îøèáêà âõîäà',MB_OK OR MB_ICONWARNING);
       LabeledEdit2.Text:='';
       LabeledEdit3.Text:='';
       LabeledEdit4.Text:='';
     end
                       else
     Begin
        if labelededit3.text=labelededit4.text then
         begin
          SQL.Clear;
          SQL.Text:='update logins set password='+#39+labelededit3.Text+#39+' where fio='+#39+form1.Label2.Caption+#39;
          ExecSQL;
          showmessage('Ïàðîëü èçìåí¸í');
          close;
         end
                                               else
         Begin
           showmessage('Âû íå âåðíî ïîâòîðèëè íîâûé ïàðîëü');
           labelededit4.text:='';
           labelededit3.text:='';
           labelededit2.text:='';
         End;
     End;
   end;
end;


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 18.06.2012 в 13:52.
BioNoob вне форума Ответить с цитированием
Старый 18.06.2012, 11:40   #2
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

А если пользователей стало 4, то все армагедон наступил.
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)
rdama вне форума Ответить с цитированием
Старый 18.06.2012, 11:42   #3
BioNoob
 
Регистрация: 05.06.2012
Сообщений: 8
По умолчанию

при чём тут 4 пользователя?
в данном запросе идёт изменение пароля пользователя ...
BioNoob вне форума Ответить с цитированием
Старый 18.06.2012, 11:47   #4
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

Я прекрасно понимаю что происходит в запросе. Я говорю о более раннем коде предшествующем апдейту.
Код:
update logins set password=' + QuotedStr(labelededit3.Text) + ' where fio=' + QuotedStrform1.Label2.Caption)
Все понял пароль/новы/подтверждение.
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)

Последний раз редактировалось rdama; 18.06.2012 в 11:51.
rdama вне форума Ответить с цитированием
Старый 18.06.2012, 15:22   #5
ych_del
Форумчанин
 
Аватар для ych_del
 
Регистрация: 06.02.2011
Сообщений: 149
По умолчанию

Я правильно понимаю - ты предлагаешь нам поиграть в занятную игру "Найди ошибку"?
Я помню, когда мы на работу народ принимали, тоже так развлекались - давали код и просили найти в нем ошибки, не используя компилятор. Ты набираешь сотрудников?

Или всё-таки попробуешь рассказать, в чем конкретно у тебя сложность?
Профессиональный конвертор галлюцинаций заказчика в алгоритмическую структуру.
ych_del вне форума Ответить с цитированием
Старый 18.06.2012, 15:55   #6
BioNoob
 
Регистрация: 05.06.2012
Сообщений: 8
По умолчанию

а что красным выделено не заметно и проблема обозначена также в названии темы...
BioNoob вне форума Ответить с цитированием
Старый 18.06.2012, 16:16   #7
ych_del
Форумчанин
 
Аватар для ych_del
 
Регистрация: 06.02.2011
Сообщений: 149
По умолчанию

Нормальный синтаксис (ну, за исключением того, что при пароле, скажем, "ва'ся71", ты словишь массу интересного. Это и к логину относится).

Текст ошибки предоставишь, или дашь нам возможность продолжить игру в телепатов?
Профессиональный конвертор галлюцинаций заказчика в алгоритмическую структуру.
ych_del вне форума Ответить с цитированием
Старый 18.06.2012, 16:20   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Сообщение от BioNoob Посмотреть сообщение
а что красным выделено не заметно и проблема обозначена также в названии темы...
А в позу зачем становиться? Ошибки синтаксиса всякие бывают. Вот и приведите текст сообщения об ошибке. По вашему коду ничего не скажешь. Может logins или password являются зарезервированными словами СУБД, может в labelededit3.Text или form1.Label2.Caption кавычка вкралась, а может еще какая-то фиговина, вплоть до неотображаемого символа
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 19.06.2012, 09:41   #9
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

Код:
if labelededit3.text=labelededit4.text 
  then
  begin
  ADOQuery1.Close;
  ADOQuery1.SQL.Text:='update logins set password=:pass where fio=:fam';
  ADOQuery1.Parameters.ParamByName('pass').Value:=labelededit3.Text;
  ADOQuery1.Parameters.ParamByName('fam').Value:=form1.Label2.Caption;
  ADOQuery1.ExecSQL;
  end
не?
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка синтаксиса в инструкции INSERT INTO Crystal2002 C/C++ Базы данных 5 27.04.2012 21:49
ошибка синтаксиса MetR Общие вопросы Delphi 11 13.01.2012 12:40
Ошибка синтаксиса в инструкции insert into sectorb БД в Delphi 5 24.11.2011 09:23
ошибка синтаксиса в инструкции create table boshki Помощь студентам 6 02.06.2011 18:36
Ошибка инструкции Insert tools SQL, базы данных 3 18.11.2009 21:32