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

Código atual:<%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 isNull(hits,0) from hits")response.write(query("hits") & "<br>") hits_totais = CDBL(query("hits")) + 1conn.execute "update hits set hits='"& hits_totais &"'"response.write "Ok<br>"conn.closeset conexao = nothing%>Erro: Tipo de erro:Microsoft OLE DB Provider for SQL Server (0x80040E07)Conflito no tipo de operando: int é incompatível com text/sandro/hits.asp, line 6

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu mudei mas continua com erro:ADODB.Recordset (0x800A0CC1)O item não pode ser encontrado na coleção correspondente ao nome ou ao ordinal solicitado./sandro/hits.asp, line 7Có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 isNull(hits,0) from hits")response.write(query("hits") & "<br>") hits_totais = CDBL(query("hits")) + 1conn.execute "update hits set hits='"& hits_totais &"'"response.write "Ok<br>"conn.closeset conexao = nothing%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

response.write(query("hits") & "<br>")

 

Mas se removo ela dá o mesmo erro sendo que a linha 7 passa a ser:

 

hits_totais = CDBL(query("hits")) + 1

 

Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

ja ta como numero???

 

entao teste isso de novo

 

e lembre-se que deve começar de zero o bagulho

 

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

     

    [*]%> 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tá, ele não deu erro e deu a mensagem de ok. Mas fui fazer um teste para depois de ele gravar o update ele mostrar o número como que ficou e deu outro erro:Tipo de erro:ADODB.Field (0x80020009)BOF ou EOF são verdadeiros, ou o registro atual foi excluído. A operação solicitada pelo aplicativo requer um registro atual.Código:<%set conn = Server.CreateObject("ADODB.Connection")conexao = "Provider=SQLOLEDB.1; SERVER=WEB; UID=sandro; PWD=sandro; DATABASE=sandro;"conn.open conexaoconn.execute "update hits set hits = hits + 1"response.write "Ok<br>"set query = conn.execute("select * from hits")response.write query("hits")conn.closeset conexao = nothing%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

troca isso

conn.execute "update hits set hits = hits + 1"response.write "Ok<br>"set query = conn.execute("select * from hits")response.write query("hits")

POr isso

conn.execute "update hits set hits = isNull(hits,0) + 1"response.write "Ok<br>"set query = conn.execute("select * from hits")response.write query("hits")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu o mesmo erro anterior:Tipo de erro:ADODB.Field (0x80020009)BOF ou EOF são verdadeiros, ou o registro atual foi excluído. A operação solicitada pelo aplicativo requer um registro atual./sandro/hits.asp

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu voltei ao inicio... Criei a tabela com o campo de novo, no formato texto, como não nula. Logo após a isso, executei a query direto no SQL Server:

 

UPDATE hits SET hits='1'

 

E voltei ao código:

 

<%

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

%>

 

Mas dá erro:

 

Tipo de erro:

(0x80020009)

Exceção.

/sandro/hits.asp, line 7

 

Que ***** de erro de exceção é esse?!

 

Obrigado aos que estão tentando me ajudar! Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

voltando denovonesta linhaset hits_totais = query("hits") + 1não pode ter o sete nestaconn.execute "update hits set hits="& hits_totais &""o hits tem de estar entre aspas simples se voce estiver usando um campo de textoficaria assim na teoria com o CDBL basicohits_totais = CDBL(query("hits")) + 1conn.execute "update hits set hits='"& hits_totais &"'"será que na pratica vai???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pô mano, mudei e tal mas dá o mesmo erro:

 

Tipo de erro:

(0x80020009)

Exceção.

/sandro/hits.asp, line 7

 

sux... Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

aff o negocio ta braboantes desta linhahits_totais = CDBL(query("hits")) + 1poeresponse.write("OVALOR QUE VEM DO DB É : " & query("hits"))response.ende o que aparecer voce poe aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá esse mesmo erro de exceção:Tipo de erro:(0x80020009)Exceção. /sandro/hits.asp, line 8Linha 8:response.write("OVALOR QUE VEM DO DB É : " & query("hits"))

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.