Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.03.2010, 20:53
Yura_S Yura_S вне форума
Прохожий
 
Регистрация: 26.10.2009
Сообщения: 16
Репутация: 10
По умолчанию Загрузка параметрического SQL запроса из файла

Здравствуйте! Не могу разобраться с запуском запроса, возникает ошибка.
Загружаю текст запроса:
Код:
procedure TBlydo.FormCreate(Sender: TObject);
var i,j:integer;
begin
DM.KolKal.SQL.LoadFromFile('КолКал.txt');
...
Код в файле:
Код:
SELECT Рецепт.KodRecepta, Sum([(КалорииВБлюде)].Калории) AS [Sum-Калории]
FROM Блюда INNER JOIN (Рецепт INNER JOIN [(КалорииВБлюде)] ON Рецепт.KodRecepta = [(КалорииВБлюде)].KodRecepta) ON (Блюда.KodRecepta = Рецепт.KodRecepta) AND (Блюда.KodRecepta = [(КалорииВБлюде)].KodRecepta)
GROUP BY Рецепт.KodRecepta
HAVING (((Рецепт.KodRecepta)=:Kod));
":Kod"-Параметр который должен задаваться в коде Delphi
Код запуска запроса (Находится в процедуре кнопки):
Код:
DM.KolKal.Close;
DM.KolKal.Parameters.ParamByName('Kod').Value:=IntToStr(Kod);
DM.KolKal.Open;
При выполнении программы возникает ошибка:
...'KolKal: Parametr 'Kod' Not Found'...
Подскажите пожалуйста в чём ошибка.
Ответить с цитированием
  #2  
Старый 18.03.2010, 08:19
k@Z@k k@Z@k вне форума
Новичок
 
Регистрация: 31.07.2007
Сообщения: 55
Репутация: 12
По умолчанию

Например, запрос хранится в ini файле(часть, только парамерты):
Код:
....
[sql]
StrWhere=WHERE (d.data_date>'%s.%s.%s %s:%s')and(d.data_date<='%s.%s.%s %s:%s')and(d.object=%s)and(d.item=%s)and(d.parnumber=%s)
.... 
тогда:
Код:
str:=Format(ReadIniFile('SQL','StrWhere','sql.ini'),[DYear1,DMonth1,DDay1,DHour1,DMinute1,DYear2,DMonth2,DDay2,DHour2,DMinute2,OCode,SCode,12]);

и получаеи str=WHERE (d.data_date>'2010.3.15 0:0')and(d.data_date<='2010.3.16 0:0')and(d.object=4540)and(d.item=1)and(d.parnumbe r=12)
вообщем должно бвть понятно, через Format, т.е формируешь запрос через форматирование строки а потом передаешь
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:03.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025