Ir para conteúdo
Fórum Script Brasil
  • 0

Recordcount vs MySQL


victormartins

Pergunta

Olá pessoal.

Estou migrando para o MySQL (To caminhando hehehe).. e.. pelo que vi, o "Recordcount" não funciona com MySQL. Até fui ver no manual do MySQL, mas não entendi bulhufas :wacko:

<%
 ip = Request.ServerVariables("remote_addr")
 sql = "SELECT ip_address, id FROM sql WHERE ip_address = '"& ip &"' ORDER BY id DESC"
 set Connection = Server.CreateObject("ADODB.Connection")
 set rs = Server.CreateObject("ADODB.Recordset")
 Connection.Open conexao
 rs.open sql, conexao, 3, 3
 TotalRecs = rs.recordcount
 %>
 <%=TotalRecs%>

Ele mostra como -1 o valor.

Como resolver isso?

Grato desde já.

:ninja:

Editado por victormartins
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Funciona sim.

Tenta a solução abaixo:

<!--#include virtual="adovbs.inc"-->

...

ip = Request.ServerVariables("remote_addr")

sql = "SELECT ip_address, id FROM sql WHERE ip_address = '"& ip &"' ORDER BY id DESC"

set conexao=server.CreateObject("ADODB.Connection")

conexao.CursorLocation = adUseClient

conexao.Open stringdeconexao

rs.Open sql, conexao, adOpenKeyset, adLockReadOnly, adCmdText

TotalRecs = rs.recordcount

Só não esqueça que nesse exemplo acima o arquivo adovbs.inc tem q estar no mesmo diretório do seu script asp. Geralmente ele fica em "C:\Arquivos de programas\Arquivos comuns\System\ado", mas se não souber a localização dele no seu computador, use a facilidade de pesquisar arquivos ou pastas do windows para encontrá-lo e então copie ele para o diretório onde estão seus scripts.

Espero ter ajudado

Link para o comentário
Compartilhar em outros sites

  • 0

Vitor,

Tive o mesmo problema que você. Contornei-o da seguinte forma:

Set rsUsuario = Server.CreateObject("ADODB.Recordset")
rsUsuario.ActiveConnection = objConn
rsUsuario.Source =  "select * from usuario " &_
        "where login = '" & Replace(lcase(trim(Request.Form("txt_user"))),chr(39),"''") & "' AND " &_
        "senha = '" & Replace(lcase(trim(Request.Form("txt_password"))),chr(39),"''") & "' AND " &_
        "id_status = 10 and ref_tabela='USUARIO'"
rsUsuario.CursorType = 3
rsUsuario.CursorLocation = 2
rsUsuario.LockType = 1
rsUsuario.Open()

rsUsuario_total = 0
rsUsuario_total = rsUsuario.RecordCount
    
' *** Status do Recordset: se nós não conseguirmos contar usando o RecordCount, então contaremos manualmente
If (rsUsuario_total = -1) Then    
    ' *** Conta o total de registros por iteração realizada no recorset
    rsUsuario_total = 0
    While (Not rsUsuario.EOF)
        rsUsuario_total = rsUsuario_total + 1
        rsUsuario.MoveNext
    Wend
End If

Na realidade eu me precavi, caso o recordCount retorne -1 a contagem será feita pelo método MoveNext do recordset.

Leo,

Com relação ao arquivo adovbs.inc, eu encontrei em um livro uma maneira de usar as variáveis sem fazer menção ao caminho do arquivo. Segue trecho do texto:

Existe um grande número de constatnes predefinidas para os objetos ADO. Estas constantes estão localizadas nos seguintes arquivos:

- adovbs.inc: Constatnes para a linguagem VBScript.

- adojavas.inc: Constantes para a linguagem JScript.

Estes arquivos estão localizados, normalmente, em uma das seguintes pastas:

- Para o Windows 2000 em Português: Arquivos de programas\Arquivos comuns\System\ADO.

- Para o Windows 2000 em Inglês: Program Files\Commom Files\system\ado.

Para que possamos utilizar estas constatnes, devemos utilizar uma diretiva include para incluir estes arquivos, ou definir uma referência utilizando a tag a seguir:

<!- - META TYPE="typelib" uuid="{00000205-0000-0010-8000-00AA006D2E44}" - ->

Esta tag deve ser incluída dentro da seção <HEAD></HEAD> de cada página ASP que utilizará as constatnes ou no arquivo global.asa. Ao serem incluídas no arquivo global.asa, as constantes estarão disponíveis para qualquer página ASP que faça parte da aplicação Web.

Ressalto que não teste este procedimento.

Espero ter contribuído.

Um abraço.

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...