Ошибка при передаче параметра
доброе время суток!
возникла проблема при передаче параметра в отчет
из приложения передаю дату в формате string прим. '19.04.2011'
в запросе ADOQuery1 этот параметр принимается и обрабатывается в базе. все нормально.
проблема возникает при построении Cross-tab отчета. данные в него берутся из ADOQuery2.
параметры в ADOQuery1 и ADOQuery2 одинаковые.
но при выполнении вылазит следующая ошибка (см. приложение)
т.е. два идентичных запроса (по параметрам), но в cross-tab не обрабатывается.
если добавить в отчет новый диалог (календарь) и из него выбирать параметры, то отчет строится нормально.
подскажите пожалуйста в чем может быть проблема!
возникла проблема при передаче параметра в отчет
из приложения передаю дату в формате string прим. '19.04.2011'
в запросе ADOQuery1 этот параметр принимается и обрабатывается в базе. все нормально.
проблема возникает при построении Cross-tab отчета. данные в него берутся из ADOQuery2.
параметры в ADOQuery1 и ADOQuery2 одинаковые.
но при выполнении вылазит следующая ошибка (см. приложение)
т.е. два идентичных запроса (по параметрам), но в cross-tab не обрабатывается.
если добавить в отчет новый диалог (календарь) и из него выбирать параметры, то отчет строится нормально.
подскажите пожалуйста в чем может быть проблема!
Комментарии
select dr.id,count(distinct pd.PatientReceptionID),datename(month,dr.datecreation)As Mm,
datepart(year,dr.datecreation)As Yy,datepart(day,dr.datecreation)As Dd
from hospital_menu_history_data mhd
left join hospital_menu_history h on h.id=mhd.menuhistoryid
left join hospital_diet_reports dr on dr.datecreation=h.datecreation
left join Hospital_Patient_Diets pd on pd.dietid= mhd.dietid
left join hospital_patientreception pr on pr.id=pd.PatientReceptionID
where convert(varchar,dr.datecreation,104)=: D
and pr.PaymentID=1
and DateRelease is null
group by dr.datecreation,dr.id
текст запроса нерабочего
select mhd.dietid,food.foodid,(rfood.name+','+cast(count(distinct pd.PatientReceptionID) as varchar)+'ïîðö.') as foodname,
(sm.name+','+meas.name) as sm,food.amount,sum(diet.amount),mhd.intfoodid,sm.id,
(food.amount*count(distinct pd.PatientReceptionID)) as rez,count(distinct pd.PatientReceptionID)as countp
from hospital_menu_history_data mhd
left join hospital_food_sostav food on food.foodid=mhd.foodid
left join hospital_menu_history h on h.id=mhd.menuhistoryid
left join reference_foods rfood on rfood.id=food.foodid
left join sm_meds sm on sm.id=food.productid
left join sm_measure meas on meas.id=sm.measureid
left join hospital_diet_reports_data diet on diet.dietid=mhd.dietid
left join hospital_diet_reports dr on dr.datecreation=h.datecreation
left join Hospital_Patient_Diets pd on pd.dietid= mhd.dietid
left join hospital_patientreception pr on pr.id=pd.PatientReceptionID
where convert(varchar,dr.datecreation,104)=: D
and pr.PaymentID=1
and DateRelease is null
group by pd.dietid,mhd.dietid,food.foodid,rfood.name,sm.name,food.amount,diet.amount,mhd.intfoodid,sm.id,meas.name
order by mhd.intfoodid,sm.id
передача параметра в запрос (код C#)
reportArgs["D"] = "'" + monthCalendar.SelectionStart.Date.ToShortDateString() + "'";