Ir para conteúdo

POWERED BY:

Arquivado

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

Touche

Erro com Cint

Recommended Posts

Tenho um sistema de fotos feito por mim que quando a pessoa clica na foto ela eh mandada pra um arquivo hits.asp que conta 1 clique e redireciona a pessoa pra pagina de visualização da foto...

 

O sistema funcionava normal até que...

 

Microsoft VBScript runtime error '800a005e' Invalid use of Null: 'cInt' /hits.asp, line 10
esse maldito erro aconteceu... por favor me ajudem nao sei o q pode estar acontecendo...

 

eis o arquivo hits.asp

 

 

ASP [/tr][tr]<%

url = Request.QueryString("cod_foto")

Conn_String = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("bd/fotos.mdb")

 

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

conn.open Conn_String

Set RS = conn.Execute("select * from fotos where cod_foto =" & url)

redireciona = "ver_foto.asp?cod_foto=" & RS("cod_foto").value

'Insere mais um clique no banco de dados

cliques=cInt(rs("cliques"))+1

Set RS2 = conn.Execute("UPDATE fotos SET cliques = " & cliques & " where cod_foto =" & url)

 

RS.Close

conn.Close

set conn = nothing

'Redireciona para a url

Response.Redirect redireciona

 

%>

[/tr]

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom basicamente é um erro que está sendo gerado pq não tem valor no recordset... varifica se existe um valor inicial e se não está vaziu o valor...

Compartilhar este post


Link para o post
Compartilhar em outros sites

é isso mesmo, antes desta linha poe assimcliques = rs("cliques")If IsNumeric(cliques) Thencliques = cInt(cliques) + 1Elsecliques = 1End If

Compartilhar este post


Link para o post
Compartilhar em outros sites

mario, me diz uma coisa.Se a variavel conter valores em STRING, porém numeros..Por exemplo, se a variavel conter "1" .. não é número .. né? Mas pode ser transformado em Inteiro, com o CINT.O que o IsNumeric Retorna num valor como "1" ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele faz uma verificação se é um valor numérico válido... se conter alguma letra já era.. mas se no caso for "10,50" ele retorna True... caso for "10C" ele retorna False.faz um teste passando por QueryString que sempre q for resgatado da URL vem como string e use o IsNumeric...falows

Compartilhar este post


Link para o post
Compartilhar em outros sites

exatamente como o rockloko disse, mesmo que seja texto, mas o valor for numerico ele retorna verdadeiro, o mesmo serve pra data...

Compartilhar este post


Link para o post
Compartilhar em outros sites

hehenao quis fazer o teste, porque deu preguiça mesmo..valeu pela explicação.. pois, o numero estando "1" nao é inteiro.. é tratado como String, por isso pergunteit+

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.