Hi,
There are two related tables: one called 'group' and the other 'items'. Each
item belongs to a group. The table 'group' is shown in a gridview with a
linkbutton for deleting.
When an user tries to delete a group which still contains items, he gets the
message:
"The DELETE statement conflicted with the REFERENCE constraint
"FK_items_groep1". The conflict occurred in database "tennis", table
"dbo.mytable", column 'groupna'.
The statement has been terminated. "
I want to avoid this and just send a short message in a label. So i tried
this, but the error message still appears.
aspx file:
----------
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="lb1" runat="server"
CommandArgument="<%# Container.DataItemIndex %>"
CommandName="Delete">
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
...
code-behind:
-----------
...
If e.CommandName = "Delete" Then
Try
Me.SqlDataSource1.DeleteCommand = "delete from groep WHERE groepnr='" &
groupkey & "'"
Catch ex As Exception
label1.Text = "Group '" & Server.HtmlEncode(groupkey) & "' cannot be
removed."
End Try
End If
Thanks
Vincent
T.
Eliyahu Goldin - 19 Feb 2008 10:38 GMT
You need to try-catch the databind operation. With the declarative
databinding it is a bit tricky. It will be simpler just to use regular
databinding, with the DataSource property rather that with the DataSourceID:
GridView1.DataSource = SqlDataSource1
try
GridView1.DataBind()
catch
...

Signature
Eliyahu Goldin,
Software Developer
Microsoft MVP [ASP.NET]
http://msmvps.com/blogs/egoldin
http://usableasp.net
> Hi,
>
[quoted text clipped - 43 lines]
>
> T.
Vincent - 19 Feb 2008 20:10 GMT
Thanks
> You need to try-catch the databind operation. With the declarative
> databinding it is a bit tricky. It will be simpler just to use regular
[quoted text clipped - 53 lines]
>>
>> T.