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

amigos a ver si se les ocurre algo

Estas en el tema de amigos a ver si se les ocurre algo en el foro de ASP Clásico en Foros del Web. Estoy haciendo una aplicacion para actualizar una BD pero no me actualiza el campo "codigo". Me actualiza todos los demas campos pero el campo "codigo" ...
  #1 (permalink)  
Antiguo 29/05/2003, 11:05
 
Fecha de Ingreso: mayo-2003
Mensajes: 21
Antigüedad: 21 años, 1 mes
Puntos: 0
amigos a ver si se les ocurre algo

Estoy haciendo una aplicacion para actualizar una BD pero no me actualiza el campo "codigo". Me actualiza todos los demas campos pero el campo "codigo" no. El campo "codigo" es de texto. Tengo el campo "ID" pero no lo uso para identificar los campos. Al principio usaba el ID y me actualizaba todos los campos. Pero tengo que usar el campo "codigo" para identificar los productos el ID no me sirve porque es autonumerico. La aplicacion no tira ningun error, pero no me actualiza el campo "codigo", osea si quiero actualizar el codigo o no lo puse bien no puedo modificarlo. :(

La pagina que efectua la aplicacion, aqui el codigo:


<%
'Recogemos los valores del formulario

Nombre=Request.Form("Nombre")
Descripcion= Request.Form("Descripcion")
Medidas=Request.Form("Medidas")
Precio=Request.Form("Precio")
Categoria=Request.Form("Categoria")
Codigo=Request.Form("Codigo")
Observaciones=Request.Form("Observaciones")


Dim con,rs,sql,datos

datos= Server.MapPath ( "../../../db/datos.mdb " )

Set con= Server.CreateObject("ADODB.connection")
con.open "Provider=Microsoft.Jet.OLEDB.4.0;Data source="&datos&";"


'Sentencia SQL
strsql="update Tabla1 set nombre='" & nombre & "', descripcion='" & descripcion & "', medidas='" & medidas & "', precio='" & precio & "', categoria='" & categoria & "', codigo='" & codigo & "', observaciones='" & observaciones & "' Where codigo='" & codigo & "'"


'Ejecutamos la orden
set RS = Con.Execute(strsql)

%>

<%
'Cerramos el sistema de conexion
Con.Close
%>


muchas gracias
  #2 (permalink)  
Antiguo 29/05/2003, 11:15
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
comenzá por depurar tu código...

comentá todas las líneas que involucren a la BD, poné un response.write(Codigo) y comentanos que ves en pantalla.


que el script quede más o menos así:



<%
'Recogemos los valores del formulario

Nombre=Request.Form("Nombre")
Descripcion= Request.Form("Descripcion")
Medidas=Request.Form("Medidas")
Precio=Request.Form("Precio")
Categoria=Request.Form("Categoria")
Codigo=Request.Form("Codigo")
Observaciones=Request.Form("Observaciones")

Response.Write(Codigo)

'Dim con,rs,sql,datos

'datos= Server.MapPath ( "../../../db/datos.mdb " )

'Set con= Server.CreateObject("ADODB.connection")
con.open "Provider=Microsoft.Jet.OLEDB.4.0;Data source="&datos&";"


'Sentencia SQL
'strsql="update Tabla1 set nombre='" & nombre & "', descripcion='" & descripcion & "', medidas='" & medidas & "', precio='" & precio & "', categoria='" & categoria & "', codigo='" & codigo & "', observaciones='" & observaciones & "' Where codigo='" & codigo & "'"


'Ejecutamos la orden
'set RS = Con.Execute(strsql)

'Cerramos el sistema de conexion
'Con.Close
%>
__________________
...___...
  #3 (permalink)  
Antiguo 29/05/2003, 11:23
 
Fecha de Ingreso: mayo-2003
Mensajes: 21
Antigüedad: 21 años, 1 mes
Puntos: 0
si ya lo habia probado el response.write pero sigue sin funcionar
  #4 (permalink)  
Antiguo 29/05/2003, 11:39
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Qué es lo que envías en la variable código?
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 29/05/2003, 11:44
 
Fecha de Ingreso: mayo-2003
Mensajes: 21
Antigüedad: 21 años, 1 mes
Puntos: 0
esta es la pagina anterior tengo esto:

<%

codigo=request.querystring("codigo")

Dim con,rs,sql,datos

datos= Server.MapPath ( "../../../db/datos.mdb " )

' Creamos el objeto para la conexion y la abrimos

Set con= Server.CreateObject("ADODB.connection")
con.open "Provider=Microsoft.Jet.OLEDB.4.0;Data source="&datos&";"

%>

<%
' Creamos la sentencia SQL para interactuar con la base de datos que ya esta abierta y lista para recibir ordenes, y seleccionamos toda la tabla pues queremos todos los registros de la base de datos, la tabla que usaremos en este caso se llama lista .

strsql= "select * from Tabla1 where codigo like '%"&codigo&"%'"

' Ejecutamos la operacion.

Set rs= con.execute(strsql)

%>



Y para cada campo pongo esto:

<input type="text" name="nombre" value="<%Set rs= con.execute(strsql)%><% if not rs.eof and not rs.bof then
while not rs.eof response.write rs("nombre")
rs.movenext
wend
else
response.write "sin registros"
end if
%>" size="20">
  #6 (permalink)  
Antiguo 29/05/2003, 11:50
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Cita:
Y para cada campo pongo esto:

<input type="text" name="nombre" value="<%Set rs= con.execute(strsql)%><% if not rs.eof and not rs.bof then
while not rs.eof response.write rs("nombre")
rs.movenext
wend
else
response.write "sin registros"
end if
%>" size="20">
Ok, entonces en el ejemplo de código, aparece algo diferente a "sin registros"?
Es decir, la forma está mandando ese campo codigo con algo cierto, que tipo de dato estás enviando? cuando le hiciste el Response.Write que te apareció?
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #7 (permalink)  
Antiguo 29/05/2003, 12:16
 
Fecha de Ingreso: mayo-2003
Mensajes: 21
Antigüedad: 21 años, 1 mes
Puntos: 0
SI

si en el campo "codigo" cuando consulto el dato a modificar "codigo" me aparece un numero que yo habia ingresado, cuando lo quiero modificar no me deja cambiarlo. Todos los demas campos si se modifican pero el campo "codigo" no.

cuando hice el response.write me aparecio el numero que ya habia ingresado, no el cual quiero actualizar. Osea es como si el response.write no hubiese modificado nada. El campo "codigo" es de texto.
  #8 (permalink)  
Antiguo 29/05/2003, 12:29
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
A ver, ahora si no entendí nada...
en la forma tienes un campo codigo que ya te aseguraste que trajera un valor, vamos a suponer que es un '1' que lo toma directamente de la DB cierto?

Ahora, cuando envias la forma ejecutas el UPDATE a la DB, y le dices que actualice todos los registros donde el campo codigo= '1'
pero dentro de ese UPDATE tb actualizas el campo codigo con un valor '1', ahora, si cambias el valor en la forma por un '100' te va a actualizar los registros donde codigo='100' incluyendo el campo codigo...si no hay codigo = '100' no hace nada...

Ahora si lo que quieres es cambiar ese campo codigo supongo que lo que tienes que hacer es meter otro campo en la forma con el valor el valor al que quieres cambiar este campo en tu DB <inpu type=nuevo_codigo> y en la SQL codigo= nuevo_codigo...no se si será por ahí lo que quieres hacer o ya me confundí....pero si estás haciendo una búsqueda de acuerdo al campo codigo, y a su vez quieres modificar su valor, creo que será mejor que te hagas otro campo_id

En fin, espero que te sirva...

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #9 (permalink)  
Antiguo 29/05/2003, 18:21
 
Fecha de Ingreso: mayo-2003
Ubicación: Madrid
Mensajes: 3
Antigüedad: 21 años
Puntos: 0
La forma que utilizas para modificar registro no es muy fiable. Te puede funcionar según este posicionado el registro en la tabla o el valor que introduzcas ya que estás modificando el valor con el que se posiciona la tabla. Lo mas seguro es utilizar el ID autonumerico que tienes. Guarda el valor de ID en una variable cuando leas el registro y cuando vayas a modificarlo posiciona la tabla en el registro con ...Where codigo='" & variable & "'"
Saludos
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 02:16.