Ver Mensaje Individual
  #3 (permalink)  
Antiguo 05/05/2008, 13:01
ciberpata
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 21 años, 10 meses
Puntos: 0
Re: error: El objeto o proveedor no puede ejecutar la operación requerida al añadir r

Lo he dejado así:
Código:
Set Conn= Server.CreateObject("ADODB.Connection")
Set Command= Server.CreateObject("ADODB.Command")
Conn.open "DSN=squashsantiago.com"
Command.ActiveConnection=Conn 
Command.CommandType=adCmdText 


insertar=True
if insertar then
'Añadimos el registro
    For each parametro in Request.Form
            Command.CommandText= "select idnoticias from noticias"
            Set RsNoticias=Command.Execute ()
            response.write "UPDATE noticias SET posicion = " & Request.form(parametro) & " WHERE idnoticias= " & RsNoticias("idnoticias") & " AND idusuarios=" & clave
            cadena=  "UPDATE noticias SET posicion = " & Request.form(parametro) & " WHERE idnoticias= " & RsNoticias("idnoticias") & " AND idusuarios=" & clave
            Conn.Execute(cadena)
    Next
pero al construir el update me pone todos los valores de posicion separados por comas,
o sea que la sentencia que me construye si tengo 3 registros y por tanto 3 valores para posición (1 por cada registro) es:

UPDATE noticias SET posicion = 1, 2, 3 WHERE idnoticias= 26 AND idusuarios=1

Cuando debería construir:

UPDATE noticias SET posicion = 1 WHERE idnoticias= 26 AND idusuarios=1
UPDATE noticias SET posicion = 2 WHERE idnoticias= 26 AND idusuarios=1
UPDATE noticias SET posicion = 3 WHERE idnoticias= 26 AND idusuarios=1

se supone que al ir en un for each cada valor debería ir en una sentencia por separado, entonces donde está el error?
__________________

Espero haber aprendido algo de tí.
A mi padre.

Última edición por ciberpata; 05/05/2008 a las 13:29