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

 

  Fórum

  ASP - Active Server Page
Voltar
Autor Assunto:  Contador
Rochª
Pontos: 2843 Pontos: 2843 Pontos: 2843
RIO DE JANEIRO
RJ - BRASIL
Postada em 25/11/2004 18:15 hs            
Estou tentando fazer um contador em asp com um exemplo daqui.
<%
'Declara as variáveis
Dim Conn, RsQuery, Pagina, Counter
'Atribui o endereço da página atual a uma variável (Pagina)
Pagina = Request.ServerVariables("SCRIPT_NAME")
'Atribui a variável Conn uma instancia do objeto Connection
'ou seja, a variável passa a propriedade de conexão
Set Conn = Server.Createobject("ADODB.Connection")
'Abre a conexão com o banco de dados usando o Server.MapPath, que localiza o banco com esse nome
'apenas dentro do mesmo diretório
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("/contador/contador.mdb")
'Verifica se a Session Pagina ja contem algum valor, no caso o valor (visitada)
If Len(Session(Pagina)) = 0 Then
 'Atribui a variável RsQuery a consulta executada no banco de dados
 Set RsQuery = Conn.Execute("SELECT * FROM acesso where url = '1'")
 'Atribui a variável Counter o valor atual de visitas
 if rsquery.eof Then
 Counter = 0
 else
 Counter = RsQuery("acesso")+1
 end if
 'Atribui a variável RsQuery a atualização feita no banco de dados
 'Repare que desta maneira você pode usar esse Banco de Dados para várias páginas
 'porque apenas será atualizada linha que corresponde a (url = '" & Pagina & "')
 'url é o endereço atual
 Set RsQuery = Conn.Execute("UPDATE acesso SET acesso = 2 WHERE url = '1'")
 'Atribui a Session(Pagina) o valor "visitada", onde só será contado como uma nova visita quando a sessão for encerrada (a sessão se encerra após 20 minutos de página estática, ou ao fechar o browser)
 Session(Pagina) = "visitada"
'Caso a Session Pagina não contenha o valor (visitada), será contado como mais uma visita
Else
 'Atribui a variável RsQuery a consulta atualização feita no banco de dados
 Set RsQuery = Conn.Execute("SELECT * FROM acesso WHERE url = '1'") 
 'Atribui a variável Counter recebe o número de visitas
 Counter = RsQuery("acesso")
 'Fecha o conexão com o banco de dados
End If
'Fecha o conexão com o banco de dados
Conn.Close
'Caso a Session Pagina não contenha o valor (visitada), será contado como mais uma visita
Set Conn = Nothing
'É impresso o total de visitas
Response.Write Counter
%>
 
Ele me da um erro na linha do update
Tipo de erro:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Driver ODBC para Microsoft Access] A operação deve usar uma consulta atualizável.
Sou muito iniciante em ASP. fixei a URL em 1 e o contador em 2 so para ver se ele gravava. O IIS esta habilitado para gravar e tirei o firewall.
Acho que é configuração pois para mim esta tudo correto. HELP !!

__________________________________________________________________________
Qualquer coisa post
 
Emoções
Rochª
     
Martini
Pontos: 2843 Pontos: 2843
PAROBÉ
RS - BRASIL
Postada em 26/11/2004 08:29 hs         
<!--#include file="Conexao_bd.asp" -->
<%
  on error resume next
  Dim MesAtual, AnoAtual, SQL, rst, SQL1, rst1
  MesAtual = month(now)
  AnoAtual = year(now)
  SQL = "SELECT Contador.Ano, Contador.Mes, Contador.Acessos FROM Contador WHERE (((Contador.Ano)=" & AnoAtual & ") AND ((Contador.Mes)="  & MesAtual &  "));"
  Set rst = server.createobject("adodb.recordset")
  rst.open SQL, vgdb, 2, 2
  if not rst.eof then
   rst("Acessos") = rst("Acessos") + 1
    rst.update
    rst.close
    set rst = nothing
  else
  rst.close
  set rst = nothing
  SQL1 = "SELECT * FROM Contador"
  Set rst1 = server.createobject("adodb.recordset")
  rst1.open SQL, vgdb, 2, 2
  rst1.addnew
  rst1("Ano") = AnoAtual
  rst1("Mes") = MesAtual
  rst1("Acessos") = 1
  rst1.update
  rst1.close
  set rst1 = nothing
  end if 
%>
     
Rochª
Pontos: 2843 Pontos: 2843 Pontos: 2843
RIO DE JANEIRO
RJ - BRASIL
Postada em 26/11/2004 11:47 hs            
Martini, sou experiente em Vb mais em ASP estou muito iniciante. Vou pedir paciencia ( se puder me indique uma apostila na net que ajudaria).
 
Resolvi mudar para ASP.NET para testar a gravacao e leitura e estou recebendo o erro
 A operação deve usar uma consulta atualizável.
o mesmo do asp e o mesmo de varios outros exemplos. Deve ser configuracao. Ja tirei o firewall e habilitei no IIS para gravacao e nada. Alguima ideia.
Valeu.

__________________________________________________________________________
Qualquer coisa post
 
Emoções
Rochª
TÓPICO EDITADO
   
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