USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Recordcount num ADO recordset
Smash
não registrado
Postada em 25/08/2004 15:24 hs   
Fala pessoal, estou com um problema com o ADO quando eu executo a seguinte linha:
    ADORst.Open "SELECT MAX(CODIGO) AS ULTIMO FROM TABELA", conn
 
Acontece que esse select pode retornar Null, se nao tiver registros. Eu ja tentei:
  if ADORst("Ultimo") = Null then
e nao funcionou. Alem disso, o ADORst.recordcount sempre retorna -1. O EOF dá sempre false. O que eu faço?
     
Keyo
Pontos: 2843
CURITIBA
PR - BRASIL
Postada em 25/08/2004 15:52 hs            
A questão do -1 e porque provavelmente a tabela consultada nao tem uma chave primaria e entao nao se consegue usar a propriedade recordcount.
Quanto ao retornar null trate assim
if adorst.eof = true then
       msgbox "A coisa tá feia porque não tem registros",vbinformation,"Azedou"
       adorst.close
       exit sub
end if
 T+
 
desculpe eu tinha esquecido o recordset aberto
 
ahahahahah!!!!!!!
TÓPICO EDITADO
   
Smash
não registrado
Postada em 25/08/2004 16:20 hs   
Quanto ao fato de nao ter chave primaria vc está certo, mas isso eu nao posso mudar.
Quanto ao eof, nao adianta pq sempre dá false...
Mas o pior de todos é o valor null do campo... como eu disse eu fiz um if 
    if ADORst("Ultimo") = Null then
e ele caiu no else; eu troquei a condiçao por
    if ADORst("Ultimo") <> Null then
 e ele TAMBEM caiu no else... vai entender!!!
     
Alfterra
Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 25/08/2004 17:41 hs            
Olá tenta assim:
antes de abrir a conexão coloca isso:
    CnnADO.CursorLocation = adUseClient
depois vc testa a propriedade RecorCount
se = 0 caso contrário SELECT MAX(codigo).....
 
grita aí se deu certo ou não.....
 
     
sammoffs
ARAGUAÍNA
TO - BRASIL
Postada em 25/08/2004 21:21 hs            
teste se o recordset está vazio
 
antes de passar o conteudo para algum controle
 
if rs.eof or rs.bof then
exit sub
end if
 
 
mande uma resposta de confirmação!
     
Burro
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
PRESIDENTE PRUDENTE
SP - BRASIL
Postada em 26/08/2004 01:14 hs            
Eu sempre faço assim:
 
IF NOT CONSULTA.EOF THEN
    IF ISNULL(CONSULTA(0)) THEN
        ULTIMOCODIGO = 1
    ELSE
        ULTIMOCODIGO = CONSULTA(0)
   ENDIF
ELSE
    ULTIMOCODIGO = 1
ENDIF
 
t+
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página