Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Не могу правильно написать запрос


Автор: kulikoff 5.4.2006, 10:25
Пишу в Делфи такой вот запрос:
Код

      ADOQuery3.Close;
      ADOQuery3.SQL.Clear;
      ADOQuery3.SQL.Add('select s.subpacklabel, (s.subpacksum-s.subpackcommission) sum, s.subpackdate, o.organizationzkpo, s.subpackbankreceiptdate');
      ADOQuery3.SQL.Add('from subpack s, organization o');
      ADOQuery3.SQL.Add('where s.organizationid=o.organizationid');
      ADOQuery3.SQL.Add('and s.subpacksum-s.subpackcommission='+sDBEdit7.Text);
      ADOQuery3.SQL.Add('and o.organizationzkpo='+sDBEdit3.Text);
      ADOQuery3.SQL.Add('and s.subpackdate='+sDBEdit5.Text);
      ADOQuery3.Prepared;
      ADOQuery3.Open;


Поле s.subpacksum-s.subpackcommission имеет тип Integer, o.organizationzkpo имеет тип Integer, s.subpackdate имеет тип Date. При выполнении выдает ошибку, что SQL command not properly ended
Как правильно написать? Подозреваю, что трабла в поле с датой - как правильно записать?

Автор: Vas 5.4.2006, 13:43
Sum - это агрегатная функция SQL и зарезервированное слово, напиши по-другому и попробуй, например summa.
Если не поможет, то значит с датой косяк ищи в поиске, неоднократно обсуждалось как передать дату в ADO.

Автор: Vit 5.4.2006, 15:16
Ну конечно не будет... Вы текст запроса посмотрите который получится... Даты надо как минимум передавать в кавычках, а правильно будет в качестве параметров. Другие ошибки ьрудно сказать, так как вы поленились указать используемую базу данных

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)