2013-02-11 3 views
1

Мне нужна помощь с sql за исключением вставки дублирующего ключа в базу данных. Я вызываю исключение, чтобы не вставлять дублируемую запись в базу данных.ASP.NET - catch sql duplicate exception

В коде позади меня есть этот код:

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

    Catch ex As SqlException 

    End Try 
End Sub 

Но я не знаю, что писать в Try...Catch блок. Я просто хочу отобразить MessageBox с текстом Вы уже являетесь участником этой группы. insted страницы с ошибкой.

Это мой код сервера:

<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

Исключение не будет поднят в обработчик события; вместо этого вы должны сделать что-то вроде:

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 
+0

Благодарим за быстрый ответ, но у меня есть проблема с вашим кодом. Частично Если e.exception IsNot Nothing ... e.exception синим подчеркнуто с текстом: Exception не является членом System.Web.UI.WebControls.SqlDataSourceCommandEventArgs. То же самое происходит с e.ExceptionHandled – jstorm31

+0

Извините, я должен был изменить обработчик для обработки события Inserted, а не Inserting. Я обновил свой ответ. –

+0

Но даже когда я изменил его, чтобы обработать вставленное событие, все равно текст - исключение не является членом System.Web.UI.WebControls.SqlDataSourceCommandEventArgs – jstorm31