Deletar registro (registro de outra tabela)
tenho uma tablea material e outra movimentacao
oq eu quere fazer é:
quando deletar qquer material, deletar a movimentacao q existir com o material q deletei
ja tentei muito, mais nao estou conseguindo,
Valew, espero a ajuda de vcs
[b:bcf4ff5353][color=red:bcf4ff5353]Editado(Beppe): Título em maiúsculas. Leais as regras de conduta.[/color:bcf4ff5353][/b:bcf4ff5353]
oq eu quere fazer é:
quando deletar qquer material, deletar a movimentacao q existir com o material q deletei
ja tentei muito, mais nao estou conseguindo,
Valew, espero a ajuda de vcs
[b:bcf4ff5353][color=red:bcf4ff5353]Editado(Beppe): Título em maiúsculas. Leais as regras de conduta.[/color:bcf4ff5353][/b:bcf4ff5353]
Wolverine
Curtidas 0
Respostas
Zottis
05/02/2004
Qual a linguagem que você usa?
Se for delphi use um loop antes de deletar
(Before delete)
Zottis
Se for delphi use um loop antes de deletar
(Before delete)
Zottis
GOSTEI 0
Wolverine
05/02/2004
Eu uso Delphi e Paradox acesso BDE,
eu ja usei isso zottis (while not table.eof do)
so q ñ esta dando certo
Minha Tabela
Material
Codigo,Nome,Quantidae,
Movimentacao
Codigo,Data,Quantidade,Codigo_material
ja tentei tabem usar sql (delete from movimentacao where codigo_material = :Codigo_material(este sendo o codigo da tabela Material)), e depois eu deletava o material (tablematerial.delete)
so q esta dando um erro no dephi
Blz
eu ja usei isso zottis (while not table.eof do)
so q ñ esta dando certo
Minha Tabela
Material
Codigo,Nome,Quantidae,
Movimentacao
Codigo,Data,Quantidade,Codigo_material
ja tentei tabem usar sql (delete from movimentacao where codigo_material = :Codigo_material(este sendo o codigo da tabela Material)), e depois eu deletava o material (tablematerial.delete)
so q esta dando um erro no dephi
Blz
GOSTEI 0
Zottis
05/02/2004
As tabelas sao master details?
De uma olhada no demo do delphi
Demos\DB\Mastapp\mastapp.dpr
no DM na tabela orders before delete
Para mim deu certo quando usava paradox...
De uma olhada no demo do delphi
Demos\DB\Mastapp\mastapp.dpr
no DM na tabela orders before delete
Para mim deu certo quando usava paradox...
GOSTEI 0
Wolverine
05/02/2004
o exemplo q tem no delphi eu fiz igual, só q ele esta deletando td os registros da tabela movimentação, e ñ só os registros do material q foi deletado
eu quero fazer é, quando, no form Material, deletar o material, tds as movimentações que contenha o mesmo sejam deletados
e se eu uso master details eu ñ sei oq é
tem como vc me ou alguém passar-me o código para fazer isso
Blz, T+
eu quero fazer é, quando, no form Material, deletar o material, tds as movimentações que contenha o mesmo sejam deletados
e se eu uso master details eu ñ sei oq é
tem como vc me ou alguém passar-me o código para fazer isso
Blz, T+
GOSTEI 0
Wolverine
05/02/2004
:( Help
GOSTEI 0
Martoss
05/02/2004
Com q banco de dados tah trabalhando???
Ja viu como estah o relacionamento?
Talvez o problema possa ser no Banco de Dados, no relacioamento.
fala ae, soh pra confirmar
Ja viu como estah o relacionamento?
Talvez o problema possa ser no Banco de Dados, no relacioamento.
fala ae, soh pra confirmar
GOSTEI 0
Wolverine
05/02/2004
Eu uso Delphi e Paradox acesso BDE, se vc quiser posso mandar para vc dar uma olhada
GOSTEI 0
Wolverine
05/02/2004
:( Ajuda
GOSTEI 0
Aroldo Zanela
05/02/2004
Colega,
Supondo que código seja inteiro:
Supondo que código seja inteiro:
With Query do begin /* Remove detalhes antes do mestre para não ficar órfãos */ Close; SQL.Text := ´DELETE FROM movimentacao WHERE codigo = :codigo´; ParamByName(´codigo´).Value := StrToInt(Edit1.Text); ExecSQL; Close; SQL.Text := ´DELETE FROM material WHERE codigo = :codigo´; ParamByName(´codigo´).Value := StrToInt(Edit1.Text); ExecSQL; end;
GOSTEI 0
Wolverine
05/02/2004
MUITO ABRIGADO [b:21c23b80d5]Aroldo Zanela[/b:21c23b80d5], ate q fim, agora deu certo
if Application.MessageBox(´Deseja excluir este material?´,´Confirme´, MB_YESNO + MB_ICONQUESTION + MB_DEFBUTTON2) = IDNO then Exit; // retorna (sem fazer nada) // devemos excluir os itens primeiro, para não termos // registros órfãos with DM do begin try With Query do begin //* Remove detalhes antes do mestre para não ficar órfãos */ Close; SQL.Text := ´DELETE FROM movimentacao WHERE codigo_material = :codigo´; ParamByName(´codigo´).Value := StrToInt(DBEdit1.Text); ExecSQL; end; TableMaterial.Delete; TableMovimentacao.Refresh; except ShowMessage(´Ocorreu um erro durante a exclusão do pedido´); end; end; end;
GOSTEI 0
Wolverine
05/02/2004
:lol:
[b:a335270d04] Aroldo Zanela[/b:a335270d04], estava dando erro na minha logica pq estava usando, sql.add, e deu certo com sql.text, tem como vc me explicar o pq, ou endicar um lugar para eu tirar essa outra duvida
[b:a335270d04] Aroldo Zanela[/b:a335270d04], estava dando erro na minha logica pq estava usando, sql.add, e deu certo com sql.text, tem como vc me explicar o pq, ou endicar um lugar para eu tirar essa outra duvida
GOSTEI 0
Aroldo Zanela
05/02/2004
Colega,
A principal diferença entre a propriedade Text e o método Add da classe TQuery prende-se ao fato que ao atribuir o conteúdo por meio da propriedade Text ele sobrescreve o valor atual, já no caso de Add é necessário utilizar o método Clear antes para limpar o conteúdo da propriedade Text.
São equivalentes da seguinte forma:
A principal diferença entre a propriedade Text e o método Add da classe TQuery prende-se ao fato que ao atribuir o conteúdo por meio da propriedade Text ele sobrescreve o valor atual, já no caso de Add é necessário utilizar o método Clear antes para limpar o conteúdo da propriedade Text.
São equivalentes da seguinte forma:
Query.Close; Query.SQL.Clear; Query.SQL.Add(´SELECT * FROM tabela´); Query.Open; Query.Close; Query.SQL.Text := ´SELECT * FROM tabela´; Query.Open;
GOSTEI 0
Wolverine
05/02/2004
Aroldo Zanela, eu tenho certeza q estava dando sql.clear, mais estava dando erro, mais Muito Obrigado
GOSTEI 0