0
Updateコマンドで、上記のエラーが発生します。正確な違反フィールドを取得する:並行性違反: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) - 任意の出力を生成しません - 私はどのようなエラーであることは細部に望みました。
下の部分は、DBのデータと照合するために使用しましたが、正確にはそうであるようです。
おそらく、更新ステートメントに問題がありますか?または、ストアドプロシージャを呼び出していますか? – PrfctByDsgn