sqlbulkcopy 该字符串未被识别为有效的 DateTime

本文介绍了一种解决空日期字段无法通过SqlBulkCopy导入数据库的问题的方法。通过将空字符串转换为null,避免了导入时出现的有效DateTime识别错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

近期在做一个批量导入功能. 突然间发现.空日期不能被导入到数据库.

使用的是Sqlbulkcopy 类 提示 该字符串未被识别为有效的 DateTime

无论数据库结果有没有允许为null 都会提示. 难道我必须给个日期吗?

后来经过多次尝试,最终解决方案如下.

foreach (System.Data.DataRow row in datatable.Rows)
            {
                if (string.IsNullOrEmpty(row["InputDate"] as string)) row["InputDate"] = null;
                if (string.IsNullOrEmpty(row["CaiYangShiJian"] as string)) row["CaiYangShiJian"] = null; 
            }

这2个日期如果是空字符串那么变成 null 这样就不会报错了.
最好的方法是在读取excel文件的时候就转换一下,防止二次遍历了.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值