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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.06.2013, 23:58   #1
II_Dimit_II
Пользователь
 
Регистрация: 29.05.2012
Сообщений: 32
По умолчанию sql запрос. проверка значения

как с помощью sql запроса проверять значения? Вот например если оно меньше заданного, то выдать сообщение, а если равно 0 то удалить запись?
II_Dimit_II вне форума Ответить с цитированием
Старый 02.06.2013, 00:56   #2
maLoy*508
Форумчанин
 
Аватар для maLoy*508
 
Регистрация: 28.03.2008
Сообщений: 672
По умолчанию

удалить обычным запросом
Код:
delete from TableName where FieldName = 0;
тоже самое и с проверкой на ноль,
Код:
select * from TabelName where FieldName > 0;
а что бы сделать это в одном запросе - даже не знаю... можно с использованием хранимой процедуры...
maLoy*508 вне форума Ответить с цитированием
Старый 02.06.2013, 01:13   #3
II_Dimit_II
Пользователь
 
Регистрация: 29.05.2012
Сообщений: 32
По умолчанию

а как сделать, что бы если наименование в двух таблицах совпадают, то в переменную записывается количество одной из таблиц
II_Dimit_II вне форума Ответить с цитированием
Старый 02.06.2013, 09:37   #4
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

и первый и второй вопрос решаются при помощи Хранимых процедур
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 02.06.2013, 13:44   #5
II_Dimit_II
Пользователь
 
Регистрация: 29.05.2012
Сообщений: 32
По умолчанию

это как? просто новичок в этом деле
II_Dimit_II вне форума Ответить с цитированием
Старый 02.06.2013, 18:35   #6
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

ну во-первых, было бы неплохо знать, что за СУБД?
а текст процедуры примерно такой (для Interbase\Firebird) (не думаю что для MySQL\MSSQL\и т.п будет отличаться):
Код:
SELECT <значение> FROM tabl WHERE <ключ>  = <значение ключа> INTO :<переменная>;
IF (<значение> = 0)  THEN
  DELETE FROM tabl 
  WHERE <ключ>  = <значение ключа>
ELSE 
  <выводим сообщение>; (например, exception('текст сообщения');)
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 02.06.2013, 20:44   #7
II_Dimit_II
Пользователь
 
Регистрация: 29.05.2012
Сообщений: 32
По умолчанию

что то как то не удалось. делаю так:

ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('SELECT Количество FROM Склад WHERE Код_изделия_наим = :login');
ADOQuery2.Parameters.ParamByName('l ogin').Value:=izdindex2;
b:=sDBGrid1.DataSource.DataSet.Fiel dByName('Количество').AsString;
ADOQuery2.Open;

Последний раз редактировалось II_Dimit_II; 02.06.2013 в 20:58.
II_Dimit_II вне форума Ответить с цитированием
Старый 03.06.2013, 09:11   #8
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

1. код нужно оформлять тэгами
2. тогда уж так:
Код:
ADOQuery2.Close;
ADOQuery2.SQL.Text 'SELECT Количество FROM Склад WHERE Код_изделия_наим = :login';
ADOQuery2.Parameters.ParamByName('login').Value:=izdindex2;
ADOQuery2.Open;
b := ADOQuery2.FieldByName('Количество').AsInteger;
if (b > 0) AND (b < 10) then 
  ShowMessage('сообщение')
else
  if b = 0 then
  begin
    ADOQuery2.Close;
    ADOQuery2.SQL.Text := 'DELETE FROM склад WHERE Код_изделия_наим = :login';
    ADOQuery2.Parameters.ParamByName('login').Value:=izdindex2;';
    ADOQuery2.ExecSQL;
  end;
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка условия. sql запрос II_Dimit_II БД в Delphi 1 31.05.2013 03:08
Чтение значения активной ячейки и передача в sql-запрос Lfvbh Dfkttd Microsoft Office Excel 2 21.02.2013 14:32
SQL запрос. Не выводит строки, где в одном поле присутствует NULL, хотя идет проверка lyle_200490 SQL, базы данных 7 07.04.2011 22: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