我有一条奇怪的错误消息,即在 Visual Studio 或 \bin\release 目录中的可执行文件中运行我的 WinForms c# 应用程序时,数据表不包含我引用的字段(设置)。
我知道该字段在那里,并且当我运行多次使用数据表对象的进程时,我只会收到错误消息。
当我单击继续(在可执行文件中)时,应用程序继续没有问题并执行它应该做的事情。
这是一个代码片段:
dtCreditCases.Rows.Clear();
foreach (task_creditcases item in creditCases)
{
DataRow drCases = dtCreditCases.NewRow();
// Then add the new row to the collection.
drCases["Case ID"] = item.c_Id;
drCases["Case Number"] = item.c_Name;
drCases["Case Topic"] = "Credit Case";
drCases["Case SubTopic"] = "Credit Case";
drCases["Account Number"] = item.c_EquationCustomerNumber
drCases["Case Number"] = item.c_Name;
代码在消息{"Column 'Case ID' doesn't belongs to table ."}的行上停止执行。
内部异常 为空。
这是异常详细信息:
System.ArgumentException 未被用户代码处理 Message=Column 'Case ID' does not 属于 table 。Source=System.Data
StackTrace:在 System.Data.DataRow.GetDataColumn(String columnName) at System.Data.DataRow.set_Item(String columnName, Object value) at SFDetachifier.SFDetachifier.bgProcessing_Production_ProgressChanged(Object sender, ProgressChangedEventArgs e) 在 C 中: \Dev\SFDetachifier_2013\SFDetachifier\SFDetachifier.cs:System.ComponentModel.BackgroundWorker.OnProgressChanged(ProgressChangedEventArgs e) 处 System.ComponentModel.BackgroundWorker.ProgressReporter(Object arg)
InnerException 的第 1304 行:
我知道数据表不是问题,其他地方肯定发生了一些事情,我想知道是不是因为数据表被重用了。
当我的过程完成后,我应该明确调用所有对象的 dispose 吗?