hencker Postado Janeiro 12, 2007 Denunciar Share Postado Janeiro 12, 2007 Boa tarde,Estou precisando selecionar o maior registro de uma tabela, por exemplo:O campo CAD_CLi tem números e eu preciso saber qual é o número maior na tabela, como seria a conseulta? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Erso Postado Janeiro 12, 2007 Denunciar Share Postado Janeiro 12, 2007 SELECT MAX(CAD_CLi) FROM TABELA Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 hencker Postado Janeiro 12, 2007 Autor Denunciar Share Postado Janeiro 12, 2007 Erso eu estou usando isso:procedure TMasterCadFuncionarios.TBNovoClick(Sender: TObject); var last_cod, new_cod :Integer; begin inherited; with ZCod do begin Close; SQL.Clear; SQL.Add('SELECT MAX(funcionario_id) FROM funcionarios'); Open; end; last_cod := ZCodfuncionario_id.Value; new_cod := last_cod + 1; DBECodigo.Text := IntToStr(new_cod); end; Mas ele aponta que não existe a coluna funcionartio_id... já conferi e sei que ela existe e está lá... Tem alguma idéia??? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Janeiro 12, 2007 Denunciar Share Postado Janeiro 12, 2007 ...Mas ele aponta que não existe a coluna funcionartio_id... já conferi e sei que ela existe e está lá... Tem alguma idéia???É um erro de run-time ou de compilaçao? Qual a mensagem original no Delphi? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Erso Postado Janeiro 12, 2007 Denunciar Share Postado Janeiro 12, 2007 o que acontece é o seguinte realmente a coluna "funcionario_id" não existe na sua consulta hehehehehhea consulta retorna o campo camando o de "MAX"para retornar com o no me de funcionario_id faça o seguinte SELECT MAX(CAD_CLi) AS funcionario_id FROM TABELA cara vai funcionar certeza. pra fazer a consulta to vendo que você está usando uma query acho? pra resgatar o registro usa assim. last_cod := ZCod.FieldByName(' funcionario_id').AsInteger; new_cod := last_cod + 1; Vejo que você esta fazendo um auto incremento manual?Essa forma de pegar o ultimo registro e adicionar mais 1 para servir de chave promária não é o mais indicado.Pois se o sistema estiver em rede e várias pessoas estiverem cadastrando ao mesmo tempo, pode ocorrer de gravarem o mesmo registro. :D Boa sorte!!! e continua postando at seu problema ser resolvido Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 DELPHI-Man32 Postado Janeiro 14, 2007 Denunciar Share Postado Janeiro 14, 2007 begin With QryIncremento do begin close; SQL.Clear; SQL.Add('Select MAX(ID_CON) from CONSULTAS'); open; end; Novo := QryIncremento.Fields[0].AsInteger + 1; DMBanco.TBConsultas.Append; edCOD.Text := IntToStr(Novo); ... end; eu to fazendo um sistema e usando incremento manual! mas com um detalhe, apenas o servidor poderá cadastrar. os clientes apenas consultas e alteração. quanto ao erro, estou usando INTERBASE 6 e ele tava gerando este mesmo erro quando eu criava a tabela com o nome dos campos em minúsculo. isso mm. tive qur criar as tabelas todas em maiúsculas. testei duas vezes para ter certeza do erro e era isso. quando fazia uma consulta retorna "Tabela desconhecida" e erros de colunas também semelhante a esse ai do amigo. CREATE TABLE "AGENDAS" ( "ID_AGE" INTEGER NOT NULL, "DATA" DATE NOT NULL, "HORA" TIME, "STATUS" CHAR(1) CHARACTER SET ISO8859_1, "IMAGE" BLOB SUB_TYPE 0 SEGMENT SIZE 1, CONSTRAINT "PK_AGENDAS" PRIMARY KEY ("ID_AGE") ); CRIANDO A TABELA ASSIM DA CERTO SE EU COLOCAR EM MINÚSCULO GERA O ERRO*.*OBS: A TABEL A CRIADA NORMALMENTE, MAS NO DELPHI A QUERY APRESENTA O ERRO. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
hencker
Boa tarde,
Estou precisando selecionar o maior registro de uma tabela, por exemplo:
O campo CAD_CLi tem números e eu preciso saber qual é o número maior na tabela, como seria a conseulta?
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.