Cita: <%
sql = "SELECT * FROM users WHERE username = 'uno'"
Set rsUsers = Server.CreateObject("ADODB.Recordset")
rsUsers.Open sql, conn, 3, 3
sql2 = "UPDATE users SET opcion = 7 WHERE username = 'uno' AND opcion = 1"
rsUsers.close
set rsUsers = nothing
conn.close
set conn = nothing
%>
A ver...
Estás abriendo un recordset que te trae todo de la tabla users donde el username es igual al string uno, hasta ahí todo bien, pero no estás ejecutando la sentencia de actualización a la base de datos...solo la estás guardando en una variable llamada sql2, ahora ese rsUsers te sirve de algo? puedes o bien utilizar tu rsUsers con el método UPDATE o utilizar el método execute del objeto que creaste para la conexión.
1)Creo que va así
While not rsUsers.EOF
rsUsers.Update "opcion", 7
rsUsers.MoveNext
Wend
ó
2)conn.Execute("UPDATE users SET opcion=7 WHERE username='uno' ")