我有一个查询...
select
real_arrival_date-planned_delivery_date as days_late
from ifsapp.purchase_receipt_statistics
其中real_arrival_date
和planned_arrival_date
是 类型 的列date
。结果days_late
将是一个十进制数字,表示我们的购买迟到了多少天。
我使用 Oracle Managed Client 在 C# 中执行此操作(尽管我怀疑常规的非托管 ODP.NET 客户端也会有这个问题)。
var command = new OracleCommand("select real_arrival_date-planned_delivery_date as days_late from ifsapp.purchase_receipt_statistics");
var result = GetDataTable(command);
public static DataTable GetDataTable(OracleCommand command)
{
DataTable dt = new DataTable();
using (var connection = GetDefaultOracleConnection())
{
command.Connection = connection;
connection.Open();
dt.Load(command.ExecuteReader()); //InvalidCastException here
}
return dt;
}
我InvalidCastException
在代码中的指定位置得到一个。为什么会发生这种情况,我该如何解决?