Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

leozeferino

Quero verificar se foi pego a quantidade certa de registro de um banco

Recommended Posts

Olá.

 

 

Tenho um sistema que pega os 3 últimos registros de um banco de dados:

 

cons = "select top 3 * FROM Noticias WHERE Categoria = 'Construcao' and Enviada = 'não' and Noticia_ID<>" & nCod_Dest & " ORDER BY Noticia_ID DESC"Set rstConst = conexao.Execute ( cons )

porém gostaria de verificar se foi pego 3 registros e não menos.

Tentei utilizando "Count(Titulo) AS quantidade" colocando no meio do código acima ficando:

 

cons = "select top 3 * Count(Titulo) AS quantidade FROM Noticias WHERE Categoria = 'Construcao' and Enviada = 'não' and Noticia_ID<>" & nCod_Dest & " ORDER BY Noticia_ID DESC"Set rstConst = conexao.Execute ( cons )

Porém deu errado.

 

Alguém sabe como eu poderia fazer esse calculo (isto é, ver qtos registros foram pegos) sem ter que abrir recordset duas vezes????

 

 

 

 

Valewsss!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Teste esse, na variável Quantidade deverá estar a quantidade de registros que retornou.

cons = "select top 3 * Count(Titulo) AS quantidade FROM Noticias WHERE Categoria = 'Construcao' and Enviada = 'não' and Noticia_ID<>" & nCod_Dest & " ORDER BY Noticia_ID DESC"
Set rstConst = conexao.Execute(cons,Quantidade)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kra, deu errado.Deu o seguinte erro:[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression '* Count(Noticia_ID) AS quantidade'.Tentei colocar parenteses antes do "Count" e depois de "quantidade" mas deu erro tbm.você tem alguma sugestão??To pensando em fazer o seguinte:Pegar todos os registro e fazer um laço de repitição 3 vezes. Mas acho que isso ia piorar a performace do código, ne?Valewss desde já,Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ops, na verdade era para usar a sua 1ª SQL, troca e testa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, utilizei o seguinte codigo:

 

cons = "select top 3 * FROM Noticias WHERE Categoria = 'Construcao' and Enviada = 'não' and Noticia_ID<>" & nCod_Dest & " ORDER BY Noticia_ID DESC"Set rstConst = conexao.Execute ( cons,Quantidade )response.write Quantidade

Porém retornou o valor -1.

 

Você sabe pq pode ter ocorrido isso?

Era pra ter retornado o valor 3, certo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se existem dados atendendoa consulta, sim.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.