【发布时间】:2019-11-07 20:07:43
【问题描述】:
我正在尝试在两个日期之间从 oracle 数据库中检索数据。我不断收到以下错误:
“Oracle.ManagedDataAccess.Client.OracleException”类型的异常发生在 Oracle.ManagedDataAccess.dll 中,但未在用户代码中处理
我不确定我写的查询是否存在问题:
public List<GetterAndSetterObj> GetDataBasedOnSelectedPeriod(DateTime fromDate, DateTime toDate)
{
using (ProdOracleContext oracleContext = new ProdOracleContext())
{
using (OracleCommand command = oracleContext.CreateCommand)
{
command.CommandText = string.Format("select * from datesTable where TRUNC(dates) BETWEEN TO_DATE('{0}','DD-MON-RRRR') AND TO_DATE('{1}','DD-MON-RRRR')", fromDate, toDate);
var queryResult = oracleContext.Get(command);
var list_v_sum_slaies_by_lice_no = new List<getterAndSetterObj>();
foreach (DataRow row in queryResult.Rows)
{
finalList.Add(new getterAndSetterObj
{
LICENCE_NUMBER = row["LICENCE_NUMBER"].ToString(),
SHOP_NAME = row["SHOP_NAME"].ToString(),
dates= row.Field<DateTime>("dates"),
SUM_ALL = int.Parse(row["SUM_ALL"].ToString())
});
} return finalList;
}
}
}
然后我使用这些方法调用函数:
public List<v_sum_slaies_by_lice_no> GetDataBasedOnSelectedPeriod(string fromDate, string toDate)
{
DateTime OfromDate = DateTime.ParseExact(fromDate, "dd/MM/yyyy", null);
DateTime OtoDate = DateTime.ParseExact(toDate, "dd/MM/yyyy", null);
return dataBase.GetDataBasedOnSelectedPeriod(OfromDate, OtoDate);
}
注意,输入将是这样的: 20/06/2019 22/06/2019
注意,存储在数据库中的日期是包含时间的日期时间,我只想根据日期获取数据
【问题讨论】:
-
请显示整个堆栈跟踪,因为您显示的错误不是很有用。
-
这是我没有得到任何附加信息的唯一输出。请注意,我认为问题出在查询上,我相信我写的内容对 oracle 数据库不可读。 @OldProgrammer