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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.10.2015, 22:19   #11
mitiay
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 288
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
O-la-la...
1)
Код:
 with SQLQueryPersonal do begin
  sql.text:='update users set Email='+QuotedStr('newmail@mail.ru')+' where IdUser='+edit1.text; 
  if ExecSQL=0 then ShowMessage('Такого Узыря немае');
 end;
2)
Код:
With SQLQueryPersonal do begin
 sql.text:='update users set Email=:mail where IdUser=:user'; 
 with Parameters do begin 
   ParamByName('mail').Value:='newmail@mail.ru';
   ParamByName('user').Value:=edit1.text;
 end;
 if ExecSQL=0 then ShowMessage('Такого Узыря немае');
end;
Сам, надеюсь, выбрать из двух вариантов сможешь?
Огромное спасибо!
Код:
  sql.text:='UPDATE users SET sms = sms-10 WHERE IdUser ='+form4.label13.Caption;
  sql.text:='UPDATE users SET sms = sms+10 WHERE IdUser ='+edit1.Text ;
  if ExecSQL=0 then ShowMessage('111');
Делаю вот так!
У первого не отнимает,а второму плюсует
mitiay вне форума Ответить с цитированием
Старый 31.10.2015, 22:51   #12
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,774
По умолчанию

Так правильно, присвоением SQL.Text ты запрос перезаписываешь. Отладчиком пользоваться научись.
Vapaamies вне форума Ответить с цитированием
Старый 01.11.2015, 08:49   #13
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Делаю вот так!
О-la-la... А моск включать ты не будешь? Орден Школоло зарабатываешь?
Запомни: Один запрос - Один ExecSQL.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.11.2015, 09:10   #14
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Один запрос - Один ExecSQL
В общем да, но не для ms sql в частности. Для него возможна пакетное выполнение, только явную транзакцию очень желательно. А ТС просто вторым запросом забил текст первого. В его ситуации можно и одним запросом обновить. Примерно так, адаптировав к своей СУБД и структуре
Код:
UPDATE users 
  SET sms = CASE WHEN IdUser=1 THEN sms-10 ELSE sms+10 END  
  WHERE IdUser in (1,2)
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 01.11.2015 в 09:22.
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрос sql. Найти людей, которые чаще всего переходят с одного тарифа на другой. GoodNight SQL, базы данных 3 28.05.2014 13:40
Delphi-BDE-LocalSQL - SQL запрос-найти конкретный номер AvRob SQL, базы данных 3 14.06.2013 11:41
Запрос с CASE переделать в запрос с PIVOT (MS SQL Server 2005) Машуля SQL, базы данных 4 06.05.2010 21:09
Создание новых таблиц в MS SQL SERVERE через SQL запрос в Delphi S_Yevgeniy Помощь студентам 1 27.10.2009 06:26
SQL запрос на основе другого SQL запрса... Timoxa БД в Delphi 1 07.01.2007 18:15