Ir para conteúdo

POWERED BY:

Arquivado

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

mkboy

select count(*)

Recommended Posts

Estou tentando contar os registros do banco de dados e deu um erro:

 

O select ta em vermelho....

 

<%

dim objRS

dim strrs

cor_titulo = "#cccccc"

 

query = Request.querystring("query")

 

If query = "" then

response.redirect "busca.asp"

 

End if

 

Set conn = Server.CreateObject ("ADODB.Connection")

strconn = "Driver={Microsoft Access Driver (*.mdb)};DBQ="& Server.MapPath("fish.mdb")

conn.open strconn

Set objRS = Server.CreateObject("ADODB.Recordset")

 

strrs = "Select * from bo where nome like'%" & query & "%' order by email"

objRS.open strrs, conn

 

If objRS.EOF Then

response.write " "

End if

 

If erro <> "" Then

Response.Write mensagem

End if

objRS.close

 

strrs = "SELECT COUNT(*) as total from bo"

objRS.open strrs, conn

set objRS = conn.execute(strrs)

totalregistros = objRS("total")

 

if totalregistros = 0 then

response.write "Nenhum registro"

end if

%>

 

<%

Do While not objRS.Eof

%>

 

<HTML>

<head><title>Resultado da pesquisa</title>

<link rel=stylesheet type="text/css" href="estilos.css">

</head>

<body>

<center>

 

<table  border="0" width="90%" cellspacing="0"  cellpaging="0">

<tr><td><font class="padrao"><b>Resultado da pesquisa:</b><%=totalregistros%>

</font>

 

</td></tr>

</table>

<br>

 

<table bgcolor="#000033" border="0" width="90%" cellspacing="0"  cellpaging="0">

<tr><td>

<table bgcolor="#ffffff" border="0" width="100%" cellspacing="0"  cellpaging="0">

 

<tr><td>

<!--Faz um loop no banco e imprime os resultados-->

<%

 

If objRS.BOF or objRS.EOF Then

 

  response.write "Nenhum registro localizado."

 

Else

 

  cor="ffffff"

  response.write "<table border=0 cellpaging="&"0"&" cellspaging="&"0"&" width="&"100%"&">"

 

  response.write "<tr bgcolor="&cor_titulo&"><td><font class="&"padrao"&"><b>Nome:</b></font></td><td><font class="&"padrao"&"><b>E-mail:</b></font></td><td><font class="&"padrao"&"><b>Data:</b></font></td><td><font class="&"padrao"&"><b>Hora:</b></font></td><td><font class="&"padrao"&"><b>IP:</b></font></td><td><font class="&"padrao"&"><b>Editar:</b></font></td><td><font class="&"padrao"&"><b>Deletar:</b></font></td></tr>"

 

  Do While Not objRS.EOF

    if cor="ffffff" then

    cor="efefef"

else

  cor="ffffff"

  end if

  response.write  "<tr bgcolor="&cor&"><td><font class=""padrao"">"&objRS("nome")&"</font></td><td><a href=""mailto:" & objRs("email") & """>"& objRs("email") &"</a></td><td><font class=""padrao"">"&objRS("data")&"</font></td><td><font class=""padrao"">"&objRS("hora")&"</font></td><td><font class=""padrao"">"&objRS("ip")&"</font></td><td><a href='alterar.asp?id="&objRs("id")&"'>Editar</a></td><td><a href='deleta.asp?id="&objRs("id")&"'>Excluir</a></td></tr>"

    objRS.MoveNext

  Loop

  response.write "</table>"

 

 

End If

%>

<!--Fim do loop-->

 

<%

loop

objRS.close

conn.close

%>

</td></tr>

</table>

 

</td></tr>

</table>

 

</center>

</body>

</html>

O erro:

 

Tipo de erro:

ADODB.Recordset (0x800A0CC1)

Item cannot be found in the collection corresponding to the requested name or ordinal.

/pesca/boletim/processa_01.asp, line 85

:blink:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veinho, usa o Recordcount. ;)

Assim ó:

strrs = "SELECT * from bo"objRS.open strrs, connset objRS = conn.execute(strrs)totalregistros = objRS.RecordCountif totalregistros = 0 thenresponse.write "Nenhum registro"end if

 

Ve ai se funciona. ^_^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz assim:

 

(o codigo da em vermelho e o erro após)

 

<%

dim objRS

dim strrs

cor_titulo = "#cccccc"

 

 

query = Request.querystring("query")

 

 

If query = "" then

response.redirect "busca.asp"

 

End if

 

Set conn = Server.CreateObject ("ADODB.Connection")

strconn = "Driver={Microsoft Access Driver (*.mdb)};DBQ="& Server.MapPath("fish.mdb")

conn.open strconn

Set objRS = Server.CreateObject("ADODB.Recordset")

 

strrs = "Select * from bo where nome like'%" & query & "%' order by email"

objRS.open strrs, conn

 

If objRS.EOF Then

response.write "<center>"

response.write "<table  border=0 width="&"90%"&" cellspacing="&"0"&"  cellpaging="&"0"&">"

response.write "<tr><td>Resultado da pesquisa:</td></tr>"

 

response.write "</table>"

response.write "<br>"

response.write "<table bgcolor="&"#000033"&" border=0 width="&"90%"&" cellspacing="&"0"&"  cellpaging="&"0"&">"

response.write "<tr><td>"

response.write "<table bgcolor="&"#ffffff"&" border=0 width="&"100%"&" cellspacing="&"0"&"  cellpaging="&"0"&">"

 

response.write "<tr><td bgcolor="&"#efefef"&"><font class="&"padrao"&">Nenhum registro encontrado.</font></td></tr>"

response.write "<tr><td><a href="&"busca.asp"&">:: Voltar</a></td></tr>"

response.write "</table>"

response.write "</td></tr>"

response.write "</table>"

response.write "</center>"

End if

 

 

 

If erro <> "" Then

Response.Write mensagem

End if

Do While not objRS.Eof

%>

<%

strrs = "SELECT * from bo"

objRS.open strrs, conn

set objRS = conn.execute(strrs)

totalregistros = objRS.RecordCount

 

if totalregistros = 0 then

response.write "Nenhum registro"

end if

%>

 

<HTML>

<head><title>Resultado da pesquisa</title>

<link rel=stylesheet type="text/css" href="estilos.css">

</head>

<body>

<center>

 

<table  border="0" width="90%" cellspacing="0"  cellpaging="0">

<tr><td><font class="padrao"><b>Resultado da pesquisa: <%=totalregistros%></b></font>

 

</td></tr>

</table>

<br>

 

<table bgcolor="#000033" border="0" width="90%" cellspacing="0"  cellpaging="0">

<tr><td>

<table bgcolor="#ffffff" border="0" width="100%" cellspacing="0"  cellpaging="0">

 

<tr><td>

<!--Faz um loop no banco e imprime os resultados-->

<%

 

If objRS.BOF or objRS.EOF Then

 

  response.write "Nenhum registro localizado."

 

Else

 

  cor="ffffff"

  response.write "<table border=0 cellpaging="&"0"&" cellspaging="&"0"&" width="&"100%"&">"

 

  response.write "<tr bgcolor="&cor_titulo&"><td><font class="&"padrao"&"><b>Nome:</b></font></td><td><font class="&"padrao"&"><b>E-mail:</b></font></td><td><font class="&"padrao"&"><b>Data:</b></font></td><td><font class="&"padrao"&"><b>Hora:</b></font></td><td><font class="&"padrao"&"><b>IP:</b></font></td><td><font class="&"padrao"&"><b>Editar:</b></font></td><td><font class="&"padrao"&"><b>Deletar:</b></font></td></tr>"

 

  Do While Not objRS.EOF

    if cor="ffffff" then

    cor="efefef"

else

  cor="ffffff"

  end if

  response.write  "<tr bgcolor="&cor&"><td><font class=""padrao"">"&objRS("nome")&"</font></td><td><a href=""mailto:" & objRs("email") & """>"& objRs("email") &"</a></td><td><font class=""padrao"">"&objRS("data")&"</font></td><td><font class=""padrao"">"&objRS("hora")&"</font></td><td><font class=""padrao"">"&objRS("ip")&"</font></td><td><a href='alterar.asp?id="&objRs("id")&"'>Editar</a></td><td><a href='deleta.asp?id="&objRs("id")&"'>Excluir</a></td></tr>"

    objRS.MoveNext

  Loop

  response.write "</table>"

 

 

End If

%>

<!--Fim do loop-->

 

<%

loop

objRS.close

conn.close

%>

</td></tr>

</table>

 

</td></tr>

</table>

 

  <p><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><a href="java script:voltar();" onMouseOver="window.status='Página Anterior '; return true" onMouseOut="window.status=''; return true">

    <script language="JavaScript">

<!--

function voltar()

{

if (history.length > 0){window.history.back();}

}

//-->

</script>

    Voltar</a></font> </p>

</center>

</body>

</html>

O erro:

 

ADODB.Recordset error '800a0e79'

 

Operação solicitada pelo aplicativo não permitida se o objeto estiver aberto.

 

/pesca/boletim/processa_01.asp, line 52

Poderia ter colocado onde coloquei?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ow MkBoy, n usa RecordSet nao cara:

Set objRS = Server.CreateObject("ADODB.Recordset")
Eu mesmo me confundo um pouco com essa coisa...entao, tira isso ai do codigo, e em vez de você executa suas SQL's assim:

objRS.open strrs, conn
Voce executa elas assim:

conn.execute(strrs)

 

Talvez possa ser isso que esta ocasionando o erro....tenta faze isso ai q eu falei pra você ve se funciona. ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

A sintaxe do count seria essa:

 

SQL = "SELECT COUNT(*) AS conta FROM tabela WHERE condicao='valor' "

Caso utilize o recordcount você tem que mudar o tipo de cursor pra openstatic e o cursor location tbm..

 

set rs = server.CreateObject("ADODB.RecordSet")rs.CursorLocation = 3rs.CursorType = 3

O recordset eh fundamental em varias aplicações.. mas pra dar um COUNT talvez naum seja necessario :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

O recordset eh fundamental em varias aplicações

Paginação por exemplo. :) Eu fico entediado só em pensa em paginação por causa disso... :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

O recordset eh fundamental em varias aplicações

Paginação por exemplo. :) Eu fico entediado só em pensa em paginação por causa disso... :D
Eheheh q isso cablezin.. paginar eh mole mole... dificil eh incrementar ela.. mas o basico eh facil

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hehehe...isso é...Paginação <Anterior - Proximo> é facinho...Uma vez eu fiz uma aqui em casa, por fazer mesmo, estilo do ImageBank: você tem o numero de paginas e uma textBox pra inseri a pagina que você quer ir....nossa deu um trabalho do caramba, mas valeu. ^_^ :)

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.