問題排查:类型“System.DateTime”的对象无法转换为类型“System.String”

最近在擴充資料對接工具的功能

經常會遇到這個狀況

當然還有其他同類提示,例如 int/decimal 無法轉 System.String 等等

 

無獨有偶

這些錯誤幾乎都是在 DataTable 轉換成 IList 的時候發生的

上網搜索了一下,找到這個解決方式:

 

將原本的

pi.SetValue(t, v, null);

 

改為

pi.SetValue(t, Convert.ChangeType(reader.GetValue(Ordinal), Property.PropertyType), null);

 

另一個會提示類似錯誤的地方,是在寫入資料庫的環節

這就要看物件中每個屬性的資料型別

與最終寫入資料庫時的資料型別是否一致

還有 SQL Statement 寫法的配合

這部分有時間再分享

转载于:https://www.cnblogs.com/hsw1976/p/5383328.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值