我插入從類型化數據集的數據到我的MSSQL數據庫使用SqlBuldCopy類:獲取SqlBulkCopy.WriteToServer SQLDATETIME溢()
foreach (DataTable dt in ds.Tables)
{
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(conn))
{
bulkCopy.DestinationTableName = "dbo." + dt.TableName + "_neu";
try
{
bulkCopy.WriteToServer(dt);
}
catch (Exception ex)
{
throw new FaultException("\n" + dt.TableName + ": " + ex.Message);
}
}
}
它的偉大工程。但是當我插入DataTime.MinValue到我的數據庫時,我得到這個錯誤:SqlDateTime溢出。必須介於1/1/1753 12:00:00 AM和12/31/9999 11:59:59 PM之間。 有沒有辦法在foreach中說這樣的話:如果數據集中的DateTime字段值是DateTime.MinValue,那麼不要將數據集中的DateTime字段插入到我的數據庫中?
問候
謝謝你的回答。我不控制數據表的人口。我從Web服務獲取數據庫。我怎麼才能檢查bulkCopy.WriteToServer(dt);如果DateTime字段不是DateTime.MinValue?如果在數據庫中真正存儲DBNull。 – 2009-12-15 09:28:27
您可以遍歷每一行,並更改所有具有DateTime.MinValue的日期時間字段 – AdaTheDev 2009-12-15 09:38:45