Los Foros de ASPTutor.com
Home | Perfil | Registrarse | Temas Activos | Miembros | Buscar | FAQ
Usuario:
Password:
 Todos los Foros
 ADO
 Problema con Update
 Foro Bloqueado  Tema Bloqueado


Autor Temas
luismariano
Starting Member

España
32 Posts
Mensajes - 26 Oct 2003 :  18:22:32  Ver Perfil  Enviar Email  Visit luismariano's Homepage
Hola ¿que tal?

Vereís, estoy haciendo una web en la cual el cliente deberá acutalizar por si mismo la BD (en Acces), bien, pues no soy capaz de conseguir que se me actualicen los datos, me da el siguiente error:

Tipo de error:
ADODB.Recordset (0x800A0BB9)
Argumentos incorrectos, fuera del intervalo permitido o en conflicto con otros.

Este error me lo da en la linea en la cual le indico el cerrojo de la BD, os pongo a continuación el código que estoy usando.


<%
Nombre= request.Form("Nombre")
SQL= "SELECT * from Ficha where Nombre='" & Nombre & "'"
'Instancio y abro el objeto conexion ("Cde")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open "Cde"
set rs=createobject("ADODB.Recordset")
Rs.CursorType = adOpenKeyset
Rs.LockType = adLockOptimistic
Rs.Open SQL, Conn
Rs("Nombredepor")= Request.Form("Nombredep")
Rs("Fecha_nac")= Request.Form("fecha")
Rs("Temporadas")= Request.Form("Temporadas")
Rs("Posicion")= Request.Form("Posicion")
Rs("Convocatorias")= Request.Form("Convocatorias")
RS.Update
rs.close
Set RS = Nothing
Conn.Close
Set Conn = Nothing
%>

A ver si me podeis hechar un cable porque estoy completamente perdido.

Muchas gracias.

buho_nero
Moderator

España
1316 Posts
Posted - 27 Oct 2003 :  10:02:36  Ver perfil  Enviar e-mail
Hace tiempo hice voto de no fomentar el uso de recorsets editables y, si puedo, evitarlo.
Así que ...
<%
nombre = request.form("nombre")
nombreDepor = request.form("Nombredep")
fechaNac = request.form("fecha")
temporadas = request.form("Temporadas")
posicion = request.form("Posicion")
convocatorias = request.form("Convocatorias")
// yo en tu caso validaría la existencia de todos los valores

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open "Cde"
sql = "UPDATE Ficha SET Nombredepor='"+nombreDepor+"', Fecha_nac=#"+fechaNac+"#, Temporadas="+temporadas+", Posicion="+posicion+",Convocatorias="+convocatorias" WHERE Nombre='"+nombre+"'"
set comando = server.createObject("ADODB.Command")
comando.ActiveConnection = Conn
comando.CommandText = sql
comando.execute
set Comando = Nothing
Conn.Close
Set Conn = Nothing
%>

He tomado "Nombre" y "Nombredepor" como campos tipo texto, "Fecha_nac" como tipo fecha y el resto como numéricos.
La versión corta es pasr del objeto command y ejecutarlo desde la propia conexión (Conn.execute(sql)), pero yo prefiero la larga. De hacer algo, hacerlo bien.

n.b.- Personalmente, creo que el uso de un recordset editable es síntoma de falta de experiencia (cosa perdonable que se cura con el tiempo) o una marca imperdonable de desdén en un programador serio.

Inicio Pagina

jenqu
Junior Member


244 Posts
Posted - 27 Oct 2003 :  11:58:41  Ver perfil  Enviar e-mail
Hola buho_nero, resulta que yo tengo el síntoma de falta de experiencia del que hablas y me gustaría que me explicaras (tú o quién quiera, claro) por qué es peor utilizar un recordset editable... Ya sabes, los pros y los contras y cual es la diferencia porque no tengo ni idea...
He buscado por ahí pero la verdad es que no me aclara mucho...
Muchas gracias.

Inicio Pagina

luismariano
Starting Member

España
32 Posts
Posted - 27 Oct 2003 :  14:54:27  Ver perfil  Enviar e-mail  Visit luismariano's Homepage
Si resulta que ya lo intenté con SQL, pero me da el siguiente error

Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Controlador ODBC Microsoft Access] La operación debe usar una consulta actualizable.

Y no entiendo porque no me deja de actualizar, porque la base de datos no tiene ningún tipo de restricción, a ver si me podéis comentar algo al respecto.
gracias.

Inicio Pagina

   
 Foro Bloqueado  Tema Bloqueado
Ir a:
Los Foros de ASPTutor.com Los Foros de ASPTutor.com
Ir al principio de la Página

 Imprimir Tema
 

Descargas de manuales¦ Ejemplos de código ¦ Artículos mas visitados ¦ Envía tu articulo ¦ Foros ¦
  Libro de visitas ¦Crea un enlace con ASPTutor 
 

    © 2001-Hasta hoy  Pedro Rufo Martín  contactar