CLR: .Net / Mono / Boo / Otros CLR > VB .NET
Consulta
(1/1)
tzalejo:
hola a todos...tengo una nueva consulta...tengo en mi bd(Sql Server 2005) 2 tablas relacionadas:
categoria(id_Categoria,nombrecat)
producto(id_Producto,nombre,...,id_Categoria)
...bueno lo q quiero es poder eliminar un registro de la tabla categoria...yo se q primero tengo k eliminar los datos relacionados...lo q hago es...
1- preguntar primero si tiene dato la tabla producto
2-eliminar los datos si lo tuviera d la tabla producto
3-eliminar las datos de la tabla categoria
bueno aca va mi consulta...si c puede hacer es el paso 1 y 2 juntos y luego hacer el paso 3...espero haberme explicado...saludo ale :hitcomp:
gerloxxx:
Puedes crear la relacion en SQL Server, actualizar y/o eliminar en cascada, asi cuando elimines un registro, el motor de sql borrará sus relaciones
saludos
tzalejo:
si podria ser...pero yo estaba buscand alguna salucion con respecto al codigo..pero gracias d todoas formas... :comp:
joselotacna:
--- Cita de: "tzalejo" ---hola a todos...tengo una nueva consulta...tengo en mi bd(Sql Server 2005) 2 tablas relacionadas:
categoria(id_Categoria,nombrecat)
producto(id_Producto,nombre,...,id_Categoria)
...bueno lo q quiero es poder eliminar un registro de la tabla categoria...yo se q primero tengo k eliminar los datos relacionados...lo q hago es...
1- preguntar primero si tiene dato la tabla producto
2-eliminar los datos si lo tuviera d la tabla producto
3-eliminar las datos de la tabla categoria
bueno aca va mi consulta...si c puede hacer es el paso 1 y 2 juntos y luego hacer el paso 3...espero haberme explicado...saludo ale :hitcomp:
--- Fin de la cita ---
Hola, te dire creo k no es correcto ello, ya tienes k eliminar primero los productos y mas aún si esos productos estan relacionados con otras tablas "factura, comprobante, etc" ummm.... ahi, pero en fin se puede hacer:
tus tablas:
categoria(id_Categoria,nombrecat)
producto(id_Producto,nombre,...,id_Categoria)
1 - Al eliminar un cargo se supone que necesitas su codigo "id_categoria", entonces, primero eliminar los registrios de la tabla Productos DONDE su ID_CATEGORIA = xxxxx, luego recine procedes a aliminar el registro de la tabla CATEGORIA
2- Ahora puedes agregar un campo ESTADO a las tablas, en este caso CATEGORIA, de tipo BIT (es decir acepta TRUE o FALSE), y cada vez que agregues un registro en la tabla CATEGORIA este campo se guardara como TRUE (eso quiere decir que estara habilitado la CATEGORIA) y cuando quieras "ELIMINAR" una categoria, solo modificaras ese campo a FALSE (eso quiere decir que estará desabilitado la CATEGORIA)
saludos jose ponce
tzalejo:
hola kmo estan..gracias x la respuesta...es una buen opcion hacer eso joselotacna ...no lo pense asi...pero bueno lo k yo iba es poder hacer esto:
--- Código: vb.net ---Try Dim CmdEP As New SqlCommand Dim CmdEP2 As New SqlCommand CnSql.Open() With CmdEP .Connection = CnSql .CommandType = CommandType.Text .CommandText = " DELETE FROM Productos " & _ " FROM Categorias INNER JOIN " & _ " Productos ON Categorias.Id_Categoria = Productos.Id_Categoria " & _ " WHERE Categorias.Id_Categoria = " & miIdC .ExecuteNonQuery() End With CnSql.Close() CnSql.Open() With CmdEP2 .Connection = CnSql .CommandType = CommandType.Text .CommandText = " DELETE FROM Categorias " & _ " WHERE Categorias.Id_Categoria = " & miIdC .ExecuteNonQuery() End With Catch ex As Exception MsgBox(ex.Message.ToString, MsgBoxStyle.Critical, "SISTEMA MACHADO") Finally If Not CnSql Is Nothing Then If CnSql.State = ConnectionState.Open Then CnSql.Close() End If End If End Try [/color]
un poko mas eficiente en el codigo...o asi esta bien?...bueno eso era todo....
Navegación
Ir a la versión completa