ASP.NET - 捕获sql重复异常

时间:2013-02-11 12:24:14

标签: asp.net sql vb.net key

除了将重复键插入数据库之外,我需要一个sql的帮助。 我导致异常deliberatly不将重复记录插入数据库。

在后面的代码中我有这段代码:

Protected Sub SqlDataSource3_Inserting(sender As Object, e As SqlDataSourceCommandEventArgs)
    Try

    Catch ex As SqlException

    End Try
End Sub

但我不知道写入Try...Catch块的内容。我只想显示一个带有文本的MessageBox。您已经是该组的成员。错误页面。

这是我的服务器代码:

<asp:SqlDataSource ID="SqlDataSource3" OnInserted="SqlDataSource3_Inserted" OnInserting="SqlDataSource3_Inserting" runat="server" ConnectionString="<%$ ConnectionStrings:MotWebConnectionString %>" 
    InsertCommand="INSERT INTO [GroupMembers] ([UserName], [GroupId]) VALUES (@UserName, @GroupId)" >

<asp:SqlDataSource ID="SqlDataSource3" OnInserted="SqlDataSource3_Inserted" OnInserting="SqlDataSource3_Inserting" runat="server" ConnectionString="<%$ ConnectionStrings:MotWebConnectionString %>" 
    InsertCommand="INSERT INTO [GroupMembers] ([UserName], [GroupId]) VALUES (@UserName, @GroupId)" >

1 个答案:

答案 0 :(得分:1)

事件处理程序中不会引发异常;相反,你应该做类似的事情:

Protected Sub SqlDataSource3_Inserted(sender As Object, e As SqlDataSourceStatusEventArgs)
   If e.Exception IsNot Nothing Then
      ' Handle exception here
      ' Prevent exception from being re-thrown
      e.ExceptionHandled = True
   End If
End Sub