Есть проблема с выполнением параметризованного запроса в c#. Вот мой код:
Data = new DataTable("Data098");
OleDbConnection con = connmgr.ORACLE_ORACLE();
cmd = con.CreateCommand();
cmd.CommandText = @"select sum (round ( (t1.width * t1.thickness * t1.qnt_length * 7.85 * power (10, -9)), 3)) weight
from ( select sp.batch_pps_id
, min (sm.s_tickness) keep (dense_rank first order by sp.pstng_date) thickness
, min (sm.s_width) keep (dense_rank first order by sp.pstng_date) width
, min (sp.entry_qnt) keep (dense_rank first order by sp.pstng_date) qnt_length
, min (sp.pstng_date) pstng_date
from oracle.z_stan_prod_sap sp, oracle.z_spr_materials sm
where sp.stge_loc = '5600'
and sp.material = sm.matnr
and sm.d_ntdqm = 'ТС 05757848-98-2014'
group by sp.batch_pps_id) t1
where t1.pstng_date between :start_date and :finish_date";
cmd.Parameters.AddWithValue("start_date", start_date);
cmd.Parameters.AddWithValue("finish_date", end_date);
OleDbDataAdapter oda = new OleDbDataAdapter(cmd);
oda.Fill(Data);
ad.Dispose();
cmd.Dispose();
Cmd до этого уже используется в этом блоке но она диспозиться. Проблема в том что на строчке заполнения даты вылетает ошибка.
ORA-01008: не все переменные привязаны
Что я делаю не так? Может уже взгляд замылился но не как не могу понять.
Вместо :start_date and :finish_date, нужно заменить на знаки вопроса ?, и тогда параметр успешно передаётся.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости