![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запрос к MSSSQL не возвращает данные. Почему? [D7]
AV © (2012-02-02 12:09:00)Прошу прощения за предыдущий пост в Прочее.
Вот выдрал аз есмь, без приукрас:
Пишу
ReOpenQByTwoDate(oq2, StartOfTheMonth(edtF.Date), StartOfTheDay(edtS.Date) );
mmo1.Lines.Add('ReOpenQByTwoDate(oq2 ');
где
procedure ReOpenQByTwoDate(Q: TADOQuery; FD, SD: TDate); overload;
begin
frmContactCentr.mmo1.Lines.Add(Q.SQL.Text);
frmContactCentr.mmo1.Lines.Add(DateTimeToStr(FD));
frmContactCentr.mmo1.Lines.Add(DateTimeToStr(SD));
Q.Close;
Q.Parameters.ParamByName('DTF').Value := FD;
Q.Parameters.ParamByName('DTS').Value := SD;
Q.Open;
Q.First;
if Q.IsEmpty then
raise Exception.Create('Q.IsEmpty;ReOpenQByTwoDate; Q:TADOQuery');
end;
вывод
ReOpenQByTwoDate(oq2
select
--IDOperation,
--Step,
Count(*) [Количество],
CONVERT ( varchar(10), DateCreate, 121) [Дата],
--[ФИО],
[Филиал],
case
when Step = 0 then 'Консультация'
else 'Заявка'
end [Обращение],
[ПредметОбращения] [Причина],
[Источник],
--[Адрес],
--[АОН],
--[Телефон] [КонтактТел],
--'' [Описание],
[Служба]
--[Оператор]
--*
from
dbo.ActivRequestOW(:DTF, :DTS)
group by
CONVERT ( varchar(10), DateCreate, 121),
[Филиал],
case
when Step = 0 then 'Консультация'
else 'Заявка'
end,
[ПредметОбращения],
[Источник],
[Служба]
01.02.2012
02.02.2012
Q.IsEmpty;ReOpenQByTwoDate; Q:TADOQuery
Exception
копирую в EM
select
--IDOperation,
--Step,
Count(*) [Количество],
CONVERT ( varchar(10), DateCreate, 121) [Дата],
--[ФИО],
[Филиал],
case
when Step = 0 then 'Консультация'
else 'Заявка'
end [Обращение],
[ПредметОбращения] [Причина],
[Источник],
--[Адрес],
--[АОН],
--[Телефон] [КонтактТел],
--'' [Описание],
[Служба]
--[Оператор]
--*
from
dbo.ActivRequestOW('01.02.2012', '02.02.2012')
group by
CONVERT ( varchar(10), DateCreate, 121),
[Филиал],
case
when Step = 0 then 'Консультация'
else 'Заявка'
end,
[ПредметОбращения],
[Источник],
[Служба]
запускаю
140 rows
Почему из программы ничего не видит?
Ega23 (2012-02-02 14:15:00) [1]
> Но это нисколько не умаляет спасиба :)
Не булькает, да-с. :)
AV (2012-02-02 13:31:00) [2]Блин, это же было очевидно..
Досадно за себя..
Но это нисколько не умаляет спасиба :)
..как так может быть. Работает пол-года, все нормально.
Раз и на тебе - ftUnknown стоит в типах..
Пожалуй, переписать стоит и вообще, всегда так делать
procedure ReOpenQByTwoDate(Q: TADOQuery; FD, SD: TDate); overload;
begin
// frmContactCentr.mmo1.Lines.Add(Q.SQL.Text);
// frmContactCentr.mmo1.Lines.Add(DateTimeToStr(FD));
// frmContactCentr.mmo1.Lines.Add(DateTimeToStr(SD));
Q.Close;
Q.Parameters.ParamByName('DTF').DataType := ftDateTime;
Q.Parameters.ParamByName('DTF').Value := FD;
Q.Parameters.ParamByName('DTS').DataType := ftDateTime;
Q.Parameters.ParamByName('DTS').Value := SD;
Q.Open;
Q.First;
if Q.IsEmpty then
rais
AV (2012-02-02 12:55:00) [3]
> Ega23 © (02.02.12 12:23) [1]
Ты прав
Почему-то оказался сбит тип параметра ..
Спасибо
Ega23 (2012-02-02 12:23:00) [4]Сначала попробуй без параметров, просто в SQL.TExt поставь свои даты.
Есть подозрение, что ты их как-то неправильно задал.