Retornar Valor Autoincremento - MSQL
28/06/2011
0
var
FSql: TSqlDataSet;
begin
FSql := TSQLDataSet.Create(nil); try
with FSql do
begin
SQLConnection := dmServidor.sqlConexao;
Close;
CommandText := 'select last_insert_id()';
Open; result := Fields[0].AsInteger;
end;
finally
FreeAndNil(FSql);
end;
end; O problema que está acontecendo é que a função sempre retorna zero. Pelo banco, quando eu crio um registro manual editando a tabela, após o comit eu executo a linha select last_insert_id() e funciona perfeitamente. Minha pergunta é: por que pelo delphi retorna sempre zero? Procurei pela net e não achei nenhuma solução, a não ser "select max(campo) from tabela" ou ainda "select usrs_cod from usuarios order by usrs_cod desc limit 1", que ao meu ver não me parece pertinente. Se alguém tiver sugestões, por favor poste pois se não encontrar a solução terei que apelar ao que ao meu ver não é pertinente. Desde já agradeço a atenção de todos. Abraços. Rogério
Rogerio Merlotti
Posts
28/06/2011
Rogerio Merlotti
29/06/2011
Junior Viesa
29/06/2011
Rogerio Merlotti
05/07/2019
Marcos
estou com mesmo problema, preciso desse retorno mais também só vem zero.
Clique aqui para fazer login e interagir na Comunidade :)