TableAdapter を使用して、ループ内のテーブルにレコードを挿入しています。
foreach(....)
{
....
....
teamsTableAdapter.Insert(_teamid, _teamname);
....
}
TeamID はテーブルの主キーで、_teamID はそれを挿入します。実際には、一意の teamId を含む XML ファイルからデータを抽出しています
このループの最初の実行後、Insert は Duplicate Primary Key found Exception をスローします。これを処理するために、私はこれをしました
foreach(....)
{
....
....
try
{
_teamsTableAdapter.Insert(_teamid, _teamname);
}
catch (System.Data.SqlClient.SqlException e)
{
if (e.Number != 2627)
MessageBox.Show(e.Message);
}
....
....
}
しかし、try catch ステートメントを使用するとコストがかかります。この例外を回避するにはどうすればよいでしょうか。私はVS2010で作業していますが、動作しINSERT ... ON DUPLICATE KEY UPDATE
ません。
try catch ステートメントを避け、try catch ステートメントを使用せずに処理したい。