Я новичок в работе со связанными переменными, поэтому у меня небольшой вопрос -
Я использую Oracle DB и ODP.NET в приложении .NET, и я использую связанные переменные, как это
string sql = "select * from table1 where loc=:pLoc and pno=:pPno and sno=:pSno union all select * from table2 where loc=:pLoc and pno=:pPno and sno=:pSno union all
select * from table3 where loc=:pLoc and pno=:pPno and sno=:pSno";
OracleCommand _cmd = new OracleCommand(sql, DBFacade.DbConnection);
OracleParameter pLoc = new OracleParameter(":pLoc", OracleDbType.Varchar2, 3);
pLoc.Value = loc;
OracleParameter pSno = new OracleParameter(":pSno", OracleDbType.Varchar2, 10);
pLoc.Value = sno;
OracleParameter pPno = new OracleParameter(":pPno", OracleDbType.Varchar2, 18);
pLoc.Value = pno;
_cmd.Parameters.Add(pLoc);
_cmd.Parameters.Add(pSno);
_cmd.Parameters.Add(pPno);
_odaContractPrices.SelectCommand = _cmd;
Я успешно использовал связанные переменные в других операторах sql (в более простых запросах, таких как «select * from table1, где column1 =: param1 и column2 =: param2»), но по некоторым причинам в этом он не работает. Может кто-нибудь объяснить мне, почему?
Большое спасибо!