我正在使用FileHelpers库将CSV文件上载到SQL Server。我想向用户展示无法上传的记录列表,以确定是否存在错误。我将SqlServerStorage类的ErrorMode设置为SaveAndContinue,但是当其中一个记录违反foriegn键约束时,InsertRecords方法仍会引发异常。有没有办法保存这个错误并继续插入?FileHelpers和SQL插入SqlServerStorage类---如何显示错误
SqlServerStorage storage = new SqlServerStorage(typeof(RouteRecord),ConfigurationManager.ConnectionStrings["DBConnString"].ConnectionString);
storage.ErrorManager.ErrorMode = FileHelpers.ErrorMode.SaveAndContinue;
storage.InsertRecords((RouteRecord[])Session["successfulRecordArray"]);
谢谢。
你有哪些代码..我们不知道你的类是什么样的,所以请发布必要的代码示例。也外键约束通常意味着你正在尝试插入相同的值两次或多次,其中只能插入其中一个值。 – MethodMan 2012-01-17 20:12:07
我添加了代码。外键异常正在发生,因为正在尝试将记录添加到主表中没有对应记录的表中。 – kav 2012-01-17 20:24:18
好吧我没有意识到MasterDetail关系无论如何什么是RouteRecord或它在哪里宣布..也有一点你得到typeof(RouteRecord)但插入你是Casting((RouteRecord [])不应该是Session [“ “ToRerayArray”)ToArray()需要看看事物是如何被真正定义的......看起来你可能遇到类型问题 – MethodMan 2012-01-17 20:36:43