将日期参数添加到oracle查询
我想要做的是在两个日期之间执行查询,日期将来自参数。
在下面的代码中,我正在放置一个参数,并将第二个日期设置为固定仅用于示例目的。
代码/查询有点长,可以在这里粘贴,但这里有一个简短的版本:
OracleParameter fromDateParameter = new OracleParameter(); fromDateParameter.OracleDbType = OracleDbType.Varchar2; fromDateParameter.Value = "'3/06/2013 20:00:00'"; this.oracleDataAdapter4.SelectCommand = new OracleCommand(" SELECT DISTINCT (LOG.RID) FROM LOG WHERE LOG.TIMESTAMP BETWEEN TO_DATE(:fromDateParameter, 'MM/DD/YYYY hh24:mi:ss ') AND TO_DATE('3/06/2013 23:59:00', 'MM/DD/YYYY hh24:mi:ss '))", oracleConnection4); oracleDataAdapter4.SelectCommand.Parameters.Add(fromDateParameter); this.oracleDataAdapter4.Fill(event11);
我收到了这条消息:
ORA-01858:找到了数字所在的非数字字符
我做了相同的查询没有参数,它工作得很好。
谢谢
我没有找到使用Varchar2数据类型的方法。 所以,我使用Date数据类型给出答案。
if (dateTo.Minute > 30) minToInt = 30; else minToInt = 00; dateFrom = DateTime.Now; dateTo = DateTime.Now; DateTime dateFrom = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, dateFrom.Hour, 00, 00); DateTime dateTo = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, dateTo.Hour, minToInt, 00); ////////FROM DATE///////// OracleParameter fromDateParameter = new OracleParameter(); fromDateParameter.OracleDbType = OracleDbType.Date; fromDateParameter.Value = dateFrom; ////////TO DATE///////// OracleParameter toDateParameter = new OracleParameter(); toDateParameter.OracleDbType = OracleDbType.Date; toDateParameter.Value = dateTo; this.oracleDataAdapter4.SelectCommand = new OracleCommand(" SELECT DISTINCT (LOG.RID) FROM LOG WHERE LOG.TIMESTAMP BETWEEN :fromDateParameter AND :fromDateParameter)", oracleConnection4); oracleDataAdapter4.SelectCommand.Parameters.Add(fromDateParameter); oracleDataAdapter4.SelectCommand.Parameters.Add(toDateParameter); this.oracleDataAdapter4.Fill(event11);
不要混淆if / else分钟validation,它只是为了我的查询目的。
上述就是C#学习教程:将日期参数添加到oracle查询分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1044398.html