Fórum Ajuda com SQL #360399
27/06/2008
0
Obrigado.
Estanieski
Curtir tópico
+ 0Posts
27/06/2008
Altingon
var ultimo:integer; //aqui vc verifica o maior valor gravado Query.close; Query.sql.clear; Query.sql.add(´select max(campo) as ultimo from tabela´); Query.open; //se tiver algum dado no campo ele pega caso contrario joga 0; if query.recordcount > 0 then ultimo := query.fieldbyname(´ultimo´).asInteger else ultimo := 0; Query.close; Query.sql.clear; Query.sql.add(´update tabela set ´+ ´campo = :campo ´+ ´where codigo = :codigo´); // partindo do principio que tem um registro já existem e que seja unico query.parambyname(´codigo´).asInteger := 1; query.parambyname(´campo´).asInteger := ultimo +1; Query.Execsql; try transaction.commit; except transaction.rollback; //faz o update
Seria basicamente isso...agora adapte para o seu uso... fiz de uma maneira facil de entender...poder ter maneiras mais simples....
Espero ter ajudado
Gostei + 0
27/06/2008
Estanieski
Gostei + 0
27/06/2008
Brunodsr
Query.close; Query.sql.clear; Query.sql.add(´update tabela set ´+ ´campo = coalesce(campo,0)+1 ´+ ´where codigo = :codigo´); query.parambyname(´codigo´).asInteger := 1; Query.Execsql;
Espero ter ajudado.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)