如何将数据传递给OracleCommand类c#
本文关键字:OracleCommand 数据 | 更新日期: 2023-09-27 17:52:51
我正试图将变量传递给sql脚本并使用c#运行。
我得到一个错误说
"失踪的表达"。
fromDate和toDate以"dd//mm//yy"格式传递。是否使用oracleccommand传递参数不正确?
public void TransactionReport(string fromDate, string toDate)
{
string query = "select s.store_code,count(i.invc_sid) as count from invoice_v i Left join store_v s ON i.sbs_no = s.sbs_no and i.store_no = s.store_no Where(i.created_date between to_date(@fromDate,'MM//DD//YY') and to_date(@toDate,'MM//DD//YY')) and i.proc_status not in ('131072','65536','147456', '81920') and i.invc_type = 0 AND i.sbs_no = 6 GROUP BY s.store_code";
conn.Open();
using (OracleCommand cmd = new OracleCommand(query, conn))
{
cmd.Parameters.Add(new OracleParameter("fromDate", fromDate));
cmd.Parameters.Add(new OracleParameter("toDate", toDate));
OracleDataReader dr = cmd.ExecuteReader();
用:
代替@
string query = "select s.store_code,count(i.invc_sid) as count from invoice_v i Left join store_v s ON i.sbs_no = s.sbs_no and i.store_no = s.store_no Where(i.created_date between to_date(:fromDate,'MM//DD//YY') and to_date(:toDate,'MM//DD//YY')) and i.proc_status not in ('131072','65536','147456', '81920') and i.invc_type = 0 AND i.sbs_no = 6 GROUP BY s.store_code";
在oracle中你不应该使用@符号,这只适用于SQL Server,只删除@就可以了