Fórum Auto incrementer o campo Código do Produto #284745

15/06/2005

0

Tenho um form com os seguintes componentes: um DBEdit para o NOME da cidade, outro para o ESTADO e outro para o ID_CÓDIGO, coloquei um DBNavigator para controlar, mas eu gostaria que quando eu clicasse em INSERIR no DBNavigator, o DBEdit do código ja fosse automaticamente preenchido...auto-incrementado.
Essa propriedade eu defino na própria tabela ou em algum componente?

OBS: O acampo ID_CODIGO é chave primaria.


Vispo

Vispo

Responder

Posts

15/06/2005

Rjun

Que banco você esta usado? Esta usando Query? Seu sistema é em rede?

Supondo que você estivesse usando Query, você poderia no evento ONNEWRECORD fazer uma query que retornasse o proximo codigo a ser lançado.


Responder

Gostei + 0

15/06/2005

Daniel_mc

Náo creio ser das melhores praticas de programacao, mas vc poderia dar um post para que o registro fosse salvo e exibido na sua tela(isto se o seu campo for autonumerico) e depois dar um edit para que o restante dos campos fossem inseridos. Tudo isto nos eventos do DBNavigator e uma variavel para monitorar quando sera um post e quando sera um edit


Responder

Gostei + 0

15/06/2005

Vispo

Que banco você esta usado? Esta usando Query? Seu sistema é em rede? Supondo que você estivesse usando Query, você poderia no evento ONNEWRECORD fazer uma query que retornasse o proximo codigo a ser lançado.


Exatamente, uso uma Query e banco de dados SQL Server.
No caso, essa query que retorna o valor, teria que varrer a tabela, pegar o maior código e acrescentar + 1. Seria isso? Caso nao seja coloca um exemplo ai se possivel..

Valeu!!! :)


Responder

Gostei + 0

15/06/2005

Rjun

No caso, essa query que retorna o valor, teria que varrer a tabela, pegar o maior código e acrescentar + 1. Seria isso?


Foi bem isso que pensei. Você também poderia criar uma tabela com a seguinte estrutura:
Tabela  Varchar(50)
ID      int


Onde você guardaria o nome da tabela e o ultimo código gerado. Ai no evento OnNewRecord, você passaria para uma query o nome da tabela e a query pegaria o ID atual, somaria 1 e te retornaria o número do proximo ID.[/code]


Responder

Gostei + 0

15/06/2005

Gpfranca

Tenho um form com os seguintes componentes: um DBEdit para o NOME da cidade, outro para o ESTADO e outro para o ID_CÓDIGO, coloquei um DBNavigator para controlar, mas eu gostaria que quando eu clicasse em INSERIR no DBNavigator, o DBEdit do código ja fosse automaticamente preenchido...auto-incrementado. Essa propriedade eu defino na própria tabela ou em algum componente? OBS: O acampo ID_CODIGO é chave primaria.



function TdmServer.UltimaSequencia(pNomeSequencia: String): String;
var
qryTmp: TSQLQuery;
begin
{ Função que retorna qual a ultima sequencia gerada por cada Seção(Terminal) }
qryTmp := TSQLQuery.Create(Self);
qryTmp.SQLConnection := dmServer.SQLConnection;
qryTmp.SQL.Add(´SELECT last_value as ultimo_id FROM ´+pNomeSequencia);
qryTmp.Open;
Result := qryTmp.fieldByName(´ultimo_id´).AsString;
qryTmp.Free;
end;

Acho que te serve amigo... Esse pega o ultimo codigo gerado... Só incrementar mais um...


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar