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?