Ir para conteúdo

Arquivado

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

ASP a ASP

Contador simples utilizando BD SQL Server

Recommended Posts

Estou montando um contador simples de hits com BD SQL Server. Criei a tabela hits no meu BD e estou utilizando o seguinte código:<%set conn = Server.CreateObject("ADODB.Connection")conexao = "Provider=SQLOLEDB.1; SERVER=WEB; UID=sandro; PWD=sandro; DATABASE=sandro;"conn.open conexaoset query = conn.execute("select * from hits")set hits_totais = query("id") + 1conn.execute "update hits set hits=$hits_totais"response.write "Ok<br>"conn.closeset conexao = nothing%>Ele faz a seleção da tabela hits e era para somar essa seleção +1 (set hits_totais = query("id") + 1) para depois no update jogar o valor de hits_totais como o valor da tabela hits. Mas a lógica esta dando errado. Alguém aí sabe me dizer o porque?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tinha uns erros no código que eu consegui arrumar mas continua não funcionando seguindo a lógica dele:<%set conn = Server.CreateObject("ADODB.Connection")conexao = "Provider=SQLOLEDB.1; SERVER=WEB; UID=sandro; PWD=sandro; DATABASE=sandro;"conn.open conexaoset query = conn.execute("select * from hits")set hits_totais = query("hits") + 1conn.execute "update hits set hits="& hits_totais &""response.write "Ok<br>"conn.closeset conexao = nothing%>Esta dando erro na linha 7:Tipo de erro:(0x80020009)Exceção. /sandro/hits.asp, line 7

Compartilhar este post


Link para o post
Compartilhar em outros sites

o que eu vi aqui, foi:

 

<%

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

conexao = "Provider=SQLOLEDB.1; SERVER=WEB; UID=sandro; PWD=sandro; DATABASE=sandro;"

conn.open conexao

 

set query = conn.execute("select * from hits")

set hits_totais = query("id") + 1

conn.execute "update hits set hits='"& hits_totais &"' "

response.write "Ok<br>"

 

conn.close

set conexao = nothing

%>

se der erro, é o tipo de campo

 

no seu banco, você colocou como numero ou texto?

 

se for numero, tire a aspa simples que eu coloquei depois do igual e no fim da linha.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ASP
  1. %
     
  2. set conn Server.CreateObject("ADODB.Connection")
     
  3. conexao "Provider=SQLOLEDB.1; SERVER=WEB; UID=sandro; PWD=sandro; DATABASE=sandro;"
     
  4. conn.open conexao
     

  5.  
  6. set query conn.execute("select * from hits")
     
  7. hits_totais query("hits") + 1
     
  8. conn.execute "update hits set hits="& hits_totais &""
     
  9. response.write "Ok<br>"
     

  10.  
  11. conn.close
     
  12. set conexao = nothing
     
  13. %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentou usar apenas

 

ASP

    [*]<%

     

    [*]set conn Server.CreateObject("ADODB.Connection")

     

    [*]conexao "Provider=SQLOLEDB.1; SERVER=WEB; UID=sandro; PWD=sandro; DATABASE=sandro;"

     

    [*]conn.open conexao

     

    [*]

     

    [*]conn.execute "update hits set hits = hits + 1"

     

    [*]response.write "Ok<br>"

     

    [*]

     

    [*]conn.close

     

    [*]set conexao = nothing

     

    [*]%> 

 

em vez de

 

ASP

    [*]<%

     

    [*]set conn Server.CreateObject("ADODB.Connection")

     

    [*]conexao "Provider=SQLOLEDB.1; SERVER=WEB; UID=sandro; PWD=sandro; DATABASE=sandro;"

     

    [*]conn.open conexao

     

    [*]

     

    [*]set query conn.execute("select * from hits")

     

    [*]set hits_totais query("hits") + 1

     

    [*]conn.execute "update hits set hits="& hits_totais &""

     

    [*]response.write "Ok<br>"

     

    [*]

     

    [*]conn.close

     

    [*]set conexao = nothing

     

    [*]%> 

 

ah o campo tem de ser numerico

Compartilhar este post


Link para o post
Compartilhar em outros sites

huauhahua

 

você eh rapido hein..

 

hehe

 

<%

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

conexao = "Provider=SQLOLEDB.1; SERVER=WEB; UID=sandro; PWD=sandro; DATABASE=sandro;"

conn.open conexao

 

set query = conn.execute("select * from hits")

hits_totais = query("hits") + 1

conn.execute "update hits set hits=' "& hits_totais &" ' "

response.write "Ok<br>"

 

conn.close

set conexao = nothing

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

ASP

[*]%<br />set conn Server.CreateObject("ADODB.Connection")<br />conexao "Provider=SQLOLEDB.1; SERVER=WEB; UID=sandro; PWD=sandro; DATABASE=sandro;"<br />conn.open conexao<br /><br />set query conn.execute("select * from hits")<br />hits_totais query("hits") + 1<br />conn.execute "update hits set hits="& hits_totais &""<br />response.write "Ok<br>"<br /><br />conn.close<br />set conexao = nothing<br />%>

<{POST_SNAPBACK}>

Isso eu já tinha feito mas, também, deu erro...

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentou usar apenas

 

ASP

[*]<%<br />set conn Server.CreateObject("ADODB.Connection")<br />conexao "Provider=SQLOLEDB.1; SERVER=WEB; UID=sandro; PWD=sandro; DATABASE=sandro;"<br />conn.open conexao<br /><br />conn.execute "update hits set hits = hits + 1"<br />response.write "Ok<br>"<br /><br />conn.close<br />set conexao = nothing<br />%> 

 

em vez de

 

ASP

[*]<%<br />set conn Server.CreateObject("ADODB.Connection")<br />conexao "Provider=SQLOLEDB.1; SERVER=WEB; UID=sandro; PWD=sandro; DATABASE=sandro;"<br />conn.open conexao<br /><br />set query conn.execute("select * from hits")<br />set hits_totais query("hits") + 1<br />conn.execute "update hits set hits="& hits_totais &""<br />response.write "Ok<br>"<br /><br />conn.close<br />set conexao = nothing<br />%> 

 

ah o campo tem de ser numerico

<{POST_SNAPBACK}>

Tentei como você falou mas deu o erro:

 

Tipo de erro:

Microsoft OLE DB Provider for SQL Server (0x80040E07)

Conflito no tipo de operando: text é incompatível com int

/sandro/hits.asp, line 11

Compartilhar este post


Link para o post
Compartilhar em outros sites

huauhahua

 

você eh rapido hein..

 

hehe

 

<%

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

conexao = "Provider=SQLOLEDB.1; SERVER=WEB; UID=sandro; PWD=sandro; DATABASE=sandro;"

conn.open conexao

 

set query = conn.execute("select * from hits")

hits_totais = query("hits") + 1

conn.execute "update hits set hits=' "& hits_totais &" ' "

response.write "Ok<br>"

 

conn.close

set conexao = nothing

%>

<{POST_SNAPBACK}>

Deu certo não mano... Esta dando erro de exceção na linha 7

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem tiozinho como o campo é texto vou fazer aqui e voce cola ai

 

ASP

    [*]<%

     

    [*]set conn Server.CreateObject("ADODB.Connection")

     

    [*]conexao "Provider=SQLOLEDB.1; SERVER=WEB; UID=sandro; PWD=sandro; DATABASE=sandro;"

     

    [*]conn.open conexao

     

    [*]

     

    [*]set query conn.execute("select hits from hits")

     

    [*]set hits_totais CINT(query("hits")) + 1

     

    [*]conn.execute "update hits set hits='"& hits_totais &"'"

     

    [*]response.write "Ok<br>"

     

    [*]

     

    [*]conn.close

     

    [*]set conexao = nothing

     

    [*]%> 

 

veja se rola

Compartilhar este post


Link para o post
Compartilhar em outros sites

onde ta o erro???se fosse numerico o campo era mais simples, mas assim rola tbmas nos diz onde ta que ninguem é pajé..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esta dando erro nessa linha:set hits_totais = query("hits") + 1Ou no que você mandou aí:set hits_totais = CINT(query("hits")) + 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora usa esse último do TIO MÁRIO mas toma cuidado com aquele SET que está na linha 7. (UIA rimou, hehehehehhehe)

Compartilhar este post


Link para o post
Compartilhar em outros sites

foi mal tira aquele set que não existe

Compartilhar este post


Link para o post
Compartilhar em outros sites

carambapoe aqui a mensagem de erro e o codigo atual

Compartilhar este post


Link para o post
Compartilhar em outros sites

<%set conn = Server.CreateObject("ADODB.Connection")conexao = "Provider=SQLOLEDB.1; SERVER=WEB; UID=sandro; PWD=sandro; DATABASE=sandro;"conn.open conexaoset query = conn.execute("select hits from hits")hits_totais = CINT(query("hits")) + 1conn.execute "update hits set hits='"& hits_totais &"'"response.write "Ok<br>"conn.closeset conexao = nothing%>Erro:Tipo de erro:(0x80020009)Exceção. /sandro/hits.asp, line 7

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao sei qual o tamnho do numero que ta alientãoimprime pra mim ai e usa o CDBL tambemmude esta parte paraset query = conn.execute("select hits from hits")response.write(query("hits") & "<br>") hits_totais = CDBL(query("hits")) + 1conn.execute "update hits set hits='"& hits_totais &"'"response.write "Ok<br>"e o que aparecer ali voce poe aqui

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.