Hola, estoy desarrollando un script que busque en una tabla donde se guardan las ips de los usuarios que han votado un video, junto con el id de ese video, de tal manera que si esa ip ya ha votado ese video no pueda volver a hacerlo y si no es así, almacene su voto e ingrese esa ip en la tabla... sencillo.... pues bien, me da error al formatear la consulta para ingresar la ip, a ver si podeis echarme una mano...
Código:
'Primero comprobamos que el usuario no haya votado ya ese video
sql_ip ="SELECT * FROM Ip_videos WHERE Id_video ="& id_video&""
'abrimos la conexion y ejecutamos la consulta
Set con_ip = Server.CreateObject ("ADODB.connection")
con_ip.Open Application("sqlserver")
set rs_ip=con_ip.execute(sql_ip)
Do while not rs_ip.eof
response.write("ip_guardada: "& rs_ip("Ip_voto")&"<br>")
if rs_ip("Ip_voto") = ip_voto THEN
'Si esa ip ya ha votado el video redirijimos nuevamente a la pagina sin sumar el voto
ip_repetida = "si"
exit Do
else
ip_repetida = "no"
end if
rs_ip.movenext
loop
'Cerramos la conexion
rs_ip.Close
set rs_ip = nothing
con_ip.Close
set con_ip = nothing
if ip_repetida = "no" then
' En caso de no haber votado establecemos los nuevos datos
puntos_nuevo = ccur(puntos) + ccur(votacion)
response.Write("puntos_nuevo: "& puntos_nuevo &"<br>")
votos_nuevo = votos + 1
'Actualizamos los datos de la votacion del video
sql_video ="UPDATE Videos_Canalrh SET Puntos = "& puntos_nuevo &", Total_votos= "& votos_nuevo &" WHERE Id ="& id_video &""
'abrimos la conexion y ejecutamos la consulta
Set con_videos = Server.CreateObject ("ADODB.connection")
con_videos.Open Application("sqlserver")
set rs_videos=con_videos.execute(sql_video)
'Insertamos el valor de la ip del usuario que ha votado el video
sql_inserta_ip="INSERT INTO Ip_videos (Id_video, Ip_voto) VALUES (" + id_video + ", " + ip_voto + ")"
response.write("cons: "& sql_inserta_ip& "<br>")
'abrimos la conexion y ejecutamos la consulta
Set con_inserta_ip = Server.CreateObject ("ADODB.connection")
con_inserta_ip.Open Application("sqlserver")
set rs_inserta_ip=con_inserta_ip.execute(sql_inserta_ip)
end if
Estoy empezando con asp, por lo que puede haber errores en cuanto al tratamiento de cierre de conxiones y demas.... espero que podais solucionarme esta duda... os paso el error que me da junto con la salida de la consulta...
cons: INSERT INTO Ip_videos (Id_video, Ip_voto) VALUES (1, 80.24.93.167)
Microsoft OLE DB Provider for SQL Server error '80040e14'
Line 1: Incorrect syntax near '.93'.
procesa_votos.asp, line 85