0
在更新命令中,我得到了上述錯誤。獲取確切的違規字段:併發衝突:UpdateCommand影響了預期的1條記錄的0個
我試圖註銷一切,但我找不到導致問題的字段。我確實將「myoriginal」與通過SSMS從數據庫中獲得的值進行了比較,結果完全相同。
如何找到導致併發錯誤的確切字段?
我對查明錯誤代碼:
public virtual int Update(global::System.Data.DataRow[] dataRows)
{
try
{
return this.Adapter.Update(dataRows);
}
catch (System.Exception ex)
{
var msg = "my little exception, " + dataRows.Length + " rows attempted to update";
foreach (var row in dataRows)
{
msg += "row has errors: " + row.HasErrors;
if (row.HasErrors)
{
msg += " descr " + row.RowError + System.Environment.NewLine;
foreach (var col in row.GetColumnsInError())
msg += " col " + row.GetColumnError(col.ColumnName);
}
{
msg += "mynewone";
msg += System.Environment.NewLine;
var columns = row.Table.Columns;
foreach (System.Data.DataColumn col in columns)
msg += col.ColumnName + "->" + row[col.ColumnName];
msg += System.Environment.NewLine;
msg += "myoriginal";
msg += System.Environment.NewLine;
foreach (System.Data.DataColumn col in columns)
msg += col.ColumnName + "->" + row[col.ColumnName, System.Data.DataRowVersion.Original];
msg += System.Environment.NewLine;
msg += "theend";
msg += System.Environment.NewLine;
}
}
throw new System.Exception(msg, ex);
}
}
第一部分(row.HasErrors) - 我希望能詳細說一下是錯誤的 - 不產生任何輸出。
我用來對數據庫中的數據進行干擾的下半部分,這似乎與它應該是完全一樣的。
也許你的更新語句有問題嗎?或者你在調用存儲過程? – PrfctByDsgn