Foros del Web » Programando para Internet » ASP Clásico »

Por que no me actuliza el UPDATE???????

Estas en el tema de Por que no me actuliza el UPDATE??????? en el foro de ASP Clásico en Foros del Web. <% Option Explicit Dim sql, sql2, rsUsers %> <!--#include file="conn.asp"--> <% sql = "SELECT * FROM users WHERE username = 'uno'" Set rsUsers = Server.CreateObject("ADODB.Recordset") ...
  #1 (permalink)  
Antiguo 25/11/2002, 12:10
 
Fecha de Ingreso: noviembre-2002
Mensajes: 133
Antigüedad: 22 años, 6 meses
Puntos: 0
Por que no me actuliza el UPDATE???????

<%
Option Explicit
Dim sql, sql2, rsUsers
%>
<!--#include file="conn.asp"-->
<%
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
%>
  #2 (permalink)  
Antiguo 25/11/2002, 12:26
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 23 años, 3 meses
Puntos: 1
¿Da algun error, o simplemente funciona pero no actualiza?.
¿ No te falta la llamada rs.update?
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #3 (permalink)  
Antiguo 25/11/2002, 13:01
 
Fecha de Ingreso: noviembre-2002
Mensajes: 133
Antigüedad: 22 años, 6 meses
Puntos: 0
No me da error al cargar la pagina, simplemente que no actualiza los registros, y no entiendo el porque. Gracias
  #4 (permalink)  
Antiguo 25/11/2002, 14:04
 
Fecha de Ingreso: noviembre-2002
Mensajes: 133
Antigüedad: 22 años, 6 meses
Puntos: 0
Tambien lo he intentado meter de esta forma, guardando la informacion del UPDATE en la base de datos, pero no hay manera
<%
Option Explicit
Dim sql, sql2, rsUsers
%>
<!--#include file="conn.asp"-->
<%
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"
Set rsUsers = Server.CreateObject("ADODB.Recordset")
rsUsers.Open sql, conn, 3, 3


rsUsers.close
set rsUsers = nothing
conn.close
set conn = nothing
%>
  #5 (permalink)  
Antiguo 25/11/2002, 14:14
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
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' ")
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #6 (permalink)  
Antiguo 25/11/2002, 14:16
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 23 años, 4 meses
Puntos: 1
<%
Option Explicit
Dim sql, sql2, rsUsers
%>
<!--#include file="conn.asp"-->
<%
sql2 = "UPDATE users SET opcion = 7 WHERE username = 'uno' AND opcion = 1"
Conn.Execute(SQL2)
%>

Saludos
  #7 (permalink)  
Antiguo 25/11/2002, 20:08
 
Fecha de Ingreso: noviembre-2002
Mensajes: 133
Antigüedad: 22 años, 6 meses
Puntos: 0
Gracias a todos, me vale
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:47.