Sr Inovação 4 Posted April 2, 2011 Report Share Posted April 2, 2011 Boa noite, pessoal da comunidade Eu não estou a conseguir eliminar os dados em cascata no SQL Server. Eu tenho uma tabela Pessoa, onde cada pessoa tem as suas receitas e as despesas(que estão nas respectivas tabelas) sendo que estas estão relacionadas com a tabela Pessoas por chaves estrangeiras certo? Eu precisava quando se eliminasse um registo de um pessoa,ele conseguisse também eliminar as suas respectivas despesas e receitas, mas actualmente só elimina os dados da tabela pessoa. Este é a minha instrução SQL para tentar eliminar: cmdEliminarPessoa = New SqlCommand("Delete from Receitas " & _ "Where Id_pessoa = '" & txtId_pessoa.Text.ToString & "'" & _ "Delete from Despesas " & _ "Where Id_pessoa = '" & txtId_pessoa.Text.ToString & "'" & _ "Delete from memb_agreg_fam " & _ "Where Id_pessoa = '" & txtId_pessoa.Text.ToString & "'", frmMainForm.connection) Agradeço a vossa ajuda desde já Link to post Share on other sites
M6 150 Posted April 2, 2011 Report Share Posted April 2, 2011 Para fazeres o delete cascade fazes de duas formas: 1. preparas as tuas tabelas para efectuar o delete cascade aquando da criação das mesmas; 2. eliminas os registos em cada uma das tabelas respeitando a ordem. Pelo que apresentas parece-me que estás a optar pela opção 2, no entanto tens os comandos seguidos sem qualquer separador. Se tentares executar esses comandos directamente no SQL Server vais ter um erro. Faz um comando de delete de cada vez. 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar." Link to post Share on other sites
Sr Inovação 4 Posted April 2, 2011 Author Report Share Posted April 2, 2011 Querem dizer que tenho de criar/declarar 3 sqlcommands (um por cada delete) M6? Link to post Share on other sites
M6 150 Posted April 2, 2011 Report Share Posted April 2, 2011 Sim. 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar." Link to post Share on other sites
Sr Inovação 4 Posted April 4, 2011 Author Report Share Posted April 4, 2011 Resolvido,optei pela 2ªopção Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now