ASP - AYUDA, NO SE COMO HACER MODIFICAR REGUISTROS

 
Vista:

AYUDA, NO SE COMO HACER MODIFICAR REGUISTROS

Publicado por Alfonso (4 intervenciones) el 26/12/2000 00:00:00
Saludos a Todos

Alguien me puede decir porque no funciona esto, aunque ya he probado varios cambios, se trata de modificar un registro de una base de datos, los datos a modificar es al campo "Producto, que proviene de otra página con un formulario, la páginas que lleva a cabo el trabajo es la siguiente:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Modificar</title>
</head>

<body>
<!-- #INCLUDE File="ADOVBS.inc"-->
<%
ClaveP = Request.Form("ClaveProducto")
set Base=server.CreateObject("ADODB.Connection")
set Tabla=server.CreateObject("ADODB.RecordSet")
Base.Open "provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & server.MapPath("fpdb/CentroComercial.mdb")
sql= "SELECT * FROM Producto Where ClaveProducto = " & ClaveP & ";"
Tabla.Open sql, Base
Tabla ("Producto") = Request.Form("ProductoN")
Tabla.Update
Base.close
Tabla.close
%>

<p>
-->
<h3> </h3>

</body>

</html>

Los el error es el siguiente:

ADODB.Field error ´800a0cb3´

La operación solicitada por la aplicación no es admitida por el proveedor.

/eboraweb/cm/MODIFICAR.ASP, line 17


Ya he probado varias cosas pero no soy capaz de hacer modificar el reguistro, alguien me hecha una mano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:AYUDA, NO SE COMO HACER MODIFICAR REGUISTROS

Publicado por federico (270 intervenciones) el 26/12/2000 00:00:00
trabaja directamente con la conexion, te ahorras variables recordset y es mas seguro, sobre todo cuando no sabes cuantas modificaciones se estan haciendo a la vez.

el codigo puede ser algo asi :
nProducto = request.form("producton")

set base = server.createobject("adodb.connection")
base.open.....
base.execute "update productos set CAMPOaModificar=nProducto where claveProducto=" & claveP



Ademas de que es mucho mas rápido, no utilizas un recordset, que en actualizaciones no es correcto ya que a la vez otro usuario puede estar modificando los datos, de forma que el recordset que extragiste puede no contener los últimos datos.Como norma te aconsejo que emplees recordset para presentar datos.y en actualizaciones emplees el metodo execute de la conexion y siempre parando la aplicacion
<%application.lock

de esta forma te aseguras que no se pueden actualizar el mismo registro a la vez.

espero haberte ayudado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA, NO SE COMO HACER MODIFICAR REGUISTROS

Publicado por Francisco Martínez (6 intervenciones) el 26/12/2000 00:00:00
No se si el error puede venir de aquí, pero si el campo Codigo del Producto no es numérico, deberás construir la SQL con la variable que recojes de Request.form entre comillas:

Ej:
strSQL = "SELECT * FROM Productos WHERE CodProducto=´" & CodProducto & "´"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

GRACIAS A LOS DOS

Publicado por Alfoson (2 intervenciones) el 27/12/2000 00:00:00
GRACIAS A LOS DOS

COMO LO TENIA FUNCIONA, LO ÚNICO QUE METÍ LA PATA EN LO MÁS BÁSICO SE ME OLVIDÓ LA (´) EN LA CONSTRUCCIÓN DE LA SQL, CUANDO RECIBO NombreP (que es al nuevo nombre del producto que es de tipo cadena), he probado también a haerlo solo son la conexión y va de lujo, gracias a los dos muchas Gracias

La verdad que me ha servidor de mucho ya que me estaba volviéndo loco y no era para eso pero cuando te lias empiezas a indagar, ver libros, etc, etc, y casi siempre es la mayor tontería que se te ha pasado por encima.

MUCHAS GRACIAS
Y FELIZ NAVIDAD....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Por cierto así se quedo el código

Publicado por Alfonso (2 intervenciones) el 27/12/2000 00:00:00
VA MUY BIEN, POR SI A ALGUIEN LE SIRVE DE AYUDA:

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Modificar</title>
</head>

<body>
<!-- #INCLUDE File="ADOVBS.inc"-->
<%
ClaveP = Request.Form("ClaveProducto")
NombreP = Request.Form("ProductoN")
PrecioP = Request.Form("PrecioN")
DetalleP = Request.Form("DetalleN")
FotoP = Request.Form("FotoN")
If FotoP = "" Then
FotoP = "imagenes/foto.gif"
End If
If DetalleP = "" Then
DetalleP = "Sin Datos"
End If
If PrecioP = "" Then
PrecioP = 0
End If
If NombreP = "" Then
NombreP = "Sin Datos"
End If
set Base=server.CreateObject("ADODB.Connection")
Base.Open "provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & server.MapPath("fpdb/CentroComercial.mdb")
Base.Execute "UPDATE Producto set Producto =´" & NombreP & "´, Precio =" & PrecioP & ", Detalle =´" & DetalleP &"´, Foto =´" & FotoP & "´ Where ClaveProducto =" & ClaveP & ";"
Base.close
%>

<p>
Se ha actualizado correctamente
<h3> </h3>

</body>

</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar