• Lunes 18 de Noviembre de 2024, 12:52

Autor Tema:  Capturar Expeciones Base Datos Usando Gridview??  (Leído 1768 veces)

paquitoTLD

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Capturar Expeciones Base Datos Usando Gridview??
« en: Domingo 13 de Agosto de 2006, 19:13 »
0
Hola, a ver os cuento mi problemilla que estoy con el proyecto fin de carrera y ando un poco desesperaillo. Estoy haciendo una aplicación Web que interactua con una base de datos en SQL. En una de las páginas a traves de un ViedGriew muestro los datos de una tabla y todo perfecto, incluso tengo un formulario que permite insertar y al instante se actualiza la página actualizando el ViedGriew.

El problema viene por ejemplo al borrar, puedo borrar algunas filas cuya clave no aparece referenciada en ninguna otras tablas, pero si quiero borrar una fila cuya clave aparece en otra tabla me aparece el siguiente error logicamente.

Instrucción DELETE en conflicto con la restricción REFERENCE "FK_Tarea Consume Recurso_Recurso". El conflicto ha aparecido en la base de datos "GP", tabla "dbo.Persona Desarrolla Tarea", column 'Cod_rec'.

Aquí está el código, al final está la parte del DELETE donde tengo los problemas, he tratado de capturar la excepcion (como hago al insertar pero nada, y es que claro el TRY y el CATCH al ser un formulario no me valen) pero no soy capaz, acabo de iniciarme en ASP y ni creando procedimientos he podido capturar la excepcion.

CODIGO INICIAL AL ACTUALIZARSE LA PAGINA

Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
Dim miSqlConexion As SqlConnection
miSqlConexion = New SqlConnection("server=SOBREMESA;database=GP;Trusted_Connection=yes")

If Not (IsPostBack) Then
GridView1.DataBind()
End If
End Sub

FORMULARIO

<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AutoGenerateColumns="False"

BackColor="Lavender" BorderColor="#0000C0" BorderStyle="None" BorderWidth="1px"

CellPadding="4" DataKeyNames="Cod_rec" DataSourceID="SqlDataSource1" PageSize="8">
<FooterStyle BackColor="#FFFF80" ForeColor="#003399" />

<Columns>

<asp:CommandField ShowEditButton="True" />
<asp:CommandField ShowDeleteButton="True" />
<asp:BoundField DataField="Cod_rec" HeaderText="Cod_rec" ReadOnly="True" SortExpression="Cod_rec" />
<asp:BoundField DataField="Descripcion" HeaderText="Descripcion" SortExpression="Descripcion" />
<asp:BoundField DataField="Tipo" HeaderText="Tipo" SortExpression="Tipo" />
<asp:BoundField DataField="Localizacion" HeaderText="Localizacion" SortExpression="Localizacion" />

</Columns>
</asp:GridView>

    

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:GPConnectionString %>"

SelectCommand="SELECT * FROM [Recurso]"
DeleteCommand="Delete From [Recurso] WHERE Cod_rec=@Cod_rec"
UpdateCommand="Update [Recurso] SET [Cod_rec]=@Cod_rec , [Descripcion]=@Desc , [Tipo]=@Tipo, [Localizacion]=@Local">

<DeleteParameters>
<asp:Parameter Name="Cod_rec" Type="String" >
</DeleteParameters>

</asp:SqlDataSource>

Bueno a ver si alguien me puede ayudar, MUCHAS GRACIAS!!!