Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/04/2010, 06:42
manguiti
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 17 años, 5 meses
Puntos: 7
añadir ip a base de datos

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