Gostaria de saber como...

Delphi

22/07/2015

Gostaria de saber como chamar pelo Delphi um alguma coisa que tem a função de gerar um código automaticamente para inserir numa tabela que criei em Delphi7. No programa que eu criei em Delphi, tem a tela de cadastro normal, mas eu quero que não seja necessário digitar nenhum código no DBEdit1. Quero chamar algo pra ela adcionar o código automaticamente quando eu clicar em "Novo Cadastro". Eu utilizo um ZConnection pra fazer conexão com o MysQL . É possível chamar usando ZConnection? Como ficaria isso? Alguém poderia me ajudar? Estou quebrando cabeça a um tempão pra tentar inserir o código automaticamente. Obrigado!
Geremias

Geremias

Curtidas 0

Respostas

Raimundo Pereira

Raimundo Pereira

22/07/2015

USE
CODIGO INTEGER PRIMARY KEY AUTO_INCREMENT

EXP:
OBS: TODOS OS CAMPOS DA SUA TELA DE CADASTRO VOCÊ PREENCHE NORMALMENTE MENOS O CAMPO CÓDIGO, DEIXE ESSE EDIT CODIGO- ENABLED=FALSE

IF QUERY_CADASTRO.LOCATE('CAMPO_DESCRIÇÃO_TABLE',EDIT_DESCRICAO,[]) THEN
BEGIN
QUERY_CADASTRO.CANCEL;
SHOWMESSAGE('JÁ EXISTE UM REGISTRO COM A MESMA DESCRIÇÃO')

END
ELSE
BEGIN

QUERY_CADASTRO.POST;
QUERY_CADASTRO.REFRES;
QUERY_CADASTRO.LOCATE('CAMPO_DESCRIÇÃO_TABLE',EDIT_DESCRICAO,[]) ;
SHOWMESSAGE('CADASTRO REALIZADO COM SUCESSO -CÓDIGO['+QUERY_CADASTRO.FIELBYNAME('CÓDIGO').ASINTEGER+']');

END;
END;

ISSO FOI SÓ UM EXEMPLO:
GOSTEI 0
Mateus Ribeiro

Mateus Ribeiro

22/07/2015

Boa tarde!

Você pode adicionar um gerador automático no seu banco (Google) ou você pode pegar o ID do ultimo cadastro e somar com mais um.

Exemplo:

var xID: Integer;
begin

  xID:= 0;

  ADOQuery1.Last;
  if ADOQuery1.RecordCount > 0 then
    xID:= ADOQuery1CODIGO.Value;


Basicamente é isso... Pega o ultimo ID gerado e soma com mais 1, e será o novo ID.


Espero que tenha entendido!
GOSTEI 0
Geremias

Geremias

22/07/2015

Boa tarde!

Você pode adicionar um gerador automático no seu banco (Google) ou você pode pegar o ID do ultimo cadastro e somar com mais um.

Exemplo:

var xID: Integer;
begin

  xID:= 0;

  ADOQuery1.Last;
  if ADOQuery1.RecordCount > 0 then
    xID:= ADOQuery1CODIGO.Value;


Basicamente é isso... Pega o ultimo ID gerado e soma com mais 1, e será o novo ID.


Espero que tenha entendido!



Estou trabalhando com o Zconecction, qual o componentes que uso para fazer ligação?
GOSTEI 0
Geremias

Geremias

22/07/2015

USE
CODIGO INTEGER PRIMARY KEY AUTO_INCREMENT

EXP:
OBS: TODOS OS CAMPOS DA SUA TELA DE CADASTRO VOCÊ PREENCHE NORMALMENTE MENOS O CAMPO CÓDIGO, DEIXE ESSE EDIT CODIGO- ENABLED=FALSE

IF QUERY_CADASTRO.LOCATE('CAMPO_DESCRIÇÃO_TABLE',EDIT_DESCRICAO,[]) THEN
BEGIN
QUERY_CADASTRO.CANCEL;
SHOWMESSAGE('JÁ EXISTE UM REGISTRO COM A MESMA DESCRIÇÃO')

END
ELSE
BEGIN

QUERY_CADASTRO.POST;
QUERY_CADASTRO.REFRES;
QUERY_CADASTRO.LOCATE('CAMPO_DESCRIÇÃO_TABLE',EDIT_DESCRICAO,[]) ;
SHOWMESSAGE('CADASTRO REALIZADO COM SUCESSO -CÓDIGO['+QUERY_CADASTRO.FIELBYNAME('CÓDIGO').ASINTEGER+']');

END;
END;

ISSO FOI SÓ UM EXEMPLO:



Qual o Componente que posso usar para fazer essas ligações estou trabalhando com o Zeos!
GOSTEI 0
POSTAR