我正在使用TableAdapter在循环中的表中插入记录。如何避免重复键异常
foreach(....)
{
....
....
teamsTableAdapter.Insert(_teamid, _teamname);
....
}
其中TeamID是表中的主键,_teamID将其插入。其实我从XML文件中提取数据,其中包含唯一的teamId
第一次运行此循环后,插入抛出重复主键发现异常。为了解决这个问题,我做了这个
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
不起作用。
我想避免尝试catch语句并在不使用try catch语句的情况下处理它。
避免插入重复的主键。 – 2010-06-17 13:29:29