2011-12-14 3 views
1

У меня есть следующий запрос к базе данных Oracle:Как передать параметр в Query.CommandText в службах отчетов SQL Server?

select * from (
    select Person.pId, Person.lastName as patLast, Person.firstName as patFirst 
       , Person.dateOfBirth 
      , Medicate.mId, Medicate.startDate as medStart, Medicate.description 
       , cast(substr(Medicate.instructions, 1, 50) as char(50)) as instruct 
      , ml.convert_id_to_date(Prescrib.pubTime) as scripSigned 
       , max(ml.convert_id_to_date(Prescrib.pubTime)) over (partition by Prescrib.pId, Prescrib.mId) as LastScrip 
      , UsrInfo.pvId, UsrInfo.lastName as provLast, UsrInfo.firstName as provFirst 
     from ml.Medicate 
      join ml.Prescrib on Medicate.mId = Prescrib.mId 
       join ml.UsrInfo on Prescrib.pvId = UsrInfo.pvId 
      join ml.Person on Medicate.pId = Person.pId 
     where Person.isPatient = 'Y' 
       and Person.pStatus = 'A' 
      and Medicate.xId = 1.e+035 
       and Medicate.change = 2 
       and Medicate.stopDate > sysdate 
       and REGEXP_LIKE(Medicate.instructions 
        , ' [qtb]\.?[oi]?\.?[dw][^ayieo]' 
         || '|[^a-z]mg?s' 
         || '|ij' 
         || '|[^a-z]iu[^a-z]' 
         || '|[0-9 ]u ' 
         || '|[^tu]hs' 
        , 'i') 
     order by ScripSigned desc 
) where scripSigned = lastScrip and scripSigned > date '2011-01-01' 

Я определил параметр отчета, DateBegin, определяется как DateTime, и я связал его с параметром запроса также называется DateBegin. Я просто не могу понять, как заменить «date» 2011-01-01 «» на «DateBegin», чтобы на самом деле работа blinkin'а. Благодаря!

ответ

3

Используйте формат Oracle для параметров - так используйте следующее: (. @ знак используется в SQLServer для идентификации SQLSERVER переменных)

) where scripSigned = lastScrip and scripSigned > :DateBegin 

+0

Ах, спасибо. Мне никогда не приходилось передавать параметр непосредственно в Oracle раньше. Crystal Reports использует один и тот же формат параметров - {? DateBegin} - для любой команды SQL и переводит его по мере необходимости на задний конец. – SarekOfVulcan

Смежные вопросы