Fórum Delphi com MySql. Como achar o próximo código de uma tabela #333761
26/11/2006
0
Amigos,
Estou usando Delphi e Mysql e estou necessitando incrementar um campo com um valor que é o maior valor já armazenado pra ele + 1. Estou usando o seguinte código e está dando erro na hora de abrir a query.
Dm.QrAux.Close;
Dm.QrAux.SQL.Clear;
Dm.QrAtos.SQL.Add(´SELECT MAX(WCODIGO)+1 AS PROXIMOCODIGO FROM SACADO_CEDENTE´);
Dm.QrAux.Open;
Result := Dm.QrAux.fieldByName(´PROXIMOCODIGO´).AsInteger;
Alguém pode sugerir um código ou ver o que está de errado com esse ?
Já alterei o Fieldbyname por Params, FieldList e não consegui.
Um abraço a todos.
Estou usando Delphi e Mysql e estou necessitando incrementar um campo com um valor que é o maior valor já armazenado pra ele + 1. Estou usando o seguinte código e está dando erro na hora de abrir a query.
Dm.QrAux.Close;
Dm.QrAux.SQL.Clear;
Dm.QrAtos.SQL.Add(´SELECT MAX(WCODIGO)+1 AS PROXIMOCODIGO FROM SACADO_CEDENTE´);
Dm.QrAux.Open;
Result := Dm.QrAux.fieldByName(´PROXIMOCODIGO´).AsInteger;
Alguém pode sugerir um código ou ver o que está de errado com esse ?
Já alterei o Fieldbyname por Params, FieldList e não consegui.
Um abraço a todos.
Winfor
Curtir tópico
+ 0
Responder
Posts
27/11/2006
Alex Maia
Vê se este aqui funciona amigo:
// Função para autoincremento
Function Inc_Tabela(Nome_Tabela : String; Chave_Primaria : String):Integer;
var Qry: TSqlQuery;
begin
Qry := TSqlQuery.Create(nil);
try
Qry.Connection:= DM.SqlConnection;
//Pega o código de incremento
Qry.SQL.Text := ´SELECT MAX(´+Chave_Primaria+´) FROM ´+ Nome_Tabela;
Qry.Open;
if Qry.Fields[0].IsNull then
Inc_Exibidor := 1
else
Inc_Exibidor := Qry.Fields[0].AsInteger + 1 ;
Qry.Close;
finally
FreeAndNil(Qry);
end;
end;
// Função para autoincremento
Function Inc_Tabela(Nome_Tabela : String; Chave_Primaria : String):Integer;
var Qry: TSqlQuery;
begin
Qry := TSqlQuery.Create(nil);
try
Qry.Connection:= DM.SqlConnection;
//Pega o código de incremento
Qry.SQL.Text := ´SELECT MAX(´+Chave_Primaria+´) FROM ´+ Nome_Tabela;
Qry.Open;
if Qry.Fields[0].IsNull then
Inc_Exibidor := 1
else
Inc_Exibidor := Qry.Fields[0].AsInteger + 1 ;
Qry.Close;
finally
FreeAndNil(Qry);
end;
end;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)