我正在使用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