Fórum Testar se registro em uso #355331
13/03/2008
0
Estou fazendo um programinha que cadastra clientes e orçamentos.
A tabela orcamento esta relacionada com a tabela clientes através do campo cliente.id_cliente e orcamento.cod_cliente.
Beleza....
Na verdade o que eu desejo? Eu quero colocar um teste no botão Excluir do Cadastro de Clientes, que, ao tentar excluir ele vai fazer uma pesquisa, para ver se a tabela orçamentos esta utilizando este cliente.
Se estiver cadastrado algum orçamento para este cliente, o cliente não pode ser excluido, se não tiver nenhum orçamento cadastrado para este cliente, o registro será excluido.
Como devo fazer este teste?
Já tentei de várias formas, mas não fica perfeito.
Se alguém puder me ajudar?
Obrigado.
Uelinton_reis
Curtir tópico
+ 0Posts
13/03/2008
Macario
Então qual base de dados você utiliza?
um exemplo em SQL:
select COD_CLIENTE from Orcamento where COD_CLIENTE = :COD_CLIENTE;
Esta instrução nao deve ser usada como, voce deve usar uma restrição, como TOP (SQL Server) pois identificando apenas um registro ja basta.
Agora se voce quiser o codigo em Delphi, diz ai. 8)
Gostei + 0
13/03/2008
Uelinton_reis
select COD_CLIENTE from Orcamento where COD_CLIENTE = :COD_CLIENTE;
--------------------------
Valeu amigo....
Se vc puder me ajudar com o código em delphi....
obrigado.
Gostei + 0
13/03/2008
Macario
8)
Gostei + 0
13/03/2008
Uelinton_reis
Estou utilizando Interbase 6.5
valeu
Gostei + 0
13/03/2008
Macario
var sSQL : String; begin sSQL := ´ select [b]FIRST 1[/b] COD_CLIENTE from Orcamento where COD_CLIENTE = ´+insttostr(iCodCliente) Dataset.Close; Dataset.SQL.clear; Dataset.SQL.Add(sSQL); Dataset.Open; if not Dataset.isEmpty then begin Mensagem(´Existe orçamento para este cliente´); abort; end; end;
A clausula FIRST 1 limita a consulta a unico resgistro, pois é so o que precisamos.
Espero que ajude.
Gostei + 0
13/03/2008
Uelinton_reis
var sSQL : String; begin sSQL := ´ select [b]FIRST 1[/b] COD_CLIENTE from Orcamento where COD_CLIENTE = ´+insttostr(iCodCliente) Dataset.Close; Dataset.SQL.clear; Dataset.SQL.Add(sSQL); Dataset.Open; if not Dataset.isEmpty then begin Mensagem(´Existe orçamento para este cliente´); abort; end; end;
Valeu cara, obrigado mesmo pela ajuda......
só me tira mais esta duvida.
Qual o significado de:
if not Dataset.isEmpty then
valeu, até mais....
Gostei + 0
13/03/2008
Macario
A propriedade isEmpty de TDataset verifica se o mesmo esta vazio
retornando True se estiver vazio e False do contrario.
8)
Gostei + 0
13/03/2008
Uelinton_reis
Cara, o que seria estes [b:276f0df65b] e [/b:276f0df65b] do código abaixo?
select [b:276f0df65b]FIRST 1[/b:276f0df65b] COD_CLIENTE from Orcamento
valeu.
Gostei + 0
13/03/2008
Uelinton_reis
Caro amigo, testei aqui com a clausula First 1, mas não deu certo.
Ele da erro...
valeu.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)