我正在用LINQ做这个:
// let use Linq
var DateMarket = from p in Orders_From_CRD.AsEnumerable()
where p.Field<Double>("Fill_ID") != null
select OrderTable.Rows.Add(p.Field<DateTime>("trade_date"), p.Field<string>("ticker"),
p.Field<Double>("EXEC_QTY"), p.Field<Double>("EXEC_PRICE"));
TradeTable = DateMarket.CopyToDataTable();
Run Code Online (Sandbox Code Playgroud)
但我告诉我有一个错误
Cannot cast DBNull.Value to type 'System.Double'. Please use a nullable type.
Run Code Online (Sandbox Code Playgroud)
你知道在这种情况下如何构建可空类型吗?
我试过了<Double?>,我得到了'Specified cast is not valid.'
默认情况下,不能为 double 分配空值。这个问题的解决方案是使用可为空的类型:Double?
尝试这个:
var DateMarket = from p in Orders_From_CRD.AsEnumerable()
where p.Field<Double?>("Fill_ID") != null
select OrderTable.Rows.Add(p.Field<DateTime>("trade_date"), p.Field<string>("ticker"),
p.Field<Double?>("EXEC_QTY"), p.Field<Double?>("EXEC_PRICE"));
TradeTable = DateMarket.CopyToDataTable();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5656 次 |
| 最近记录: |