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

Modificar información de una base de datos

Estas en el tema de Modificar información de una base de datos en el foro de ASP Clásico en Foros del Web. Hola, os quiero comentar un codigo a ver que es lo que me falta, porque hasta ahora en mi web subia datos a una bd, ...
  #1 (permalink)  
Antiguo 17/07/2006, 09:47
 
Fecha de Ingreso: noviembre-2005
Mensajes: 62
Antigüedad: 18 años, 5 meses
Puntos: 0
Modificar información de una base de datos

Hola, os quiero comentar un codigo a ver que es lo que me falta, porque hasta ahora en mi web subia datos a una bd, pero quiero modificarlos y me he liadooo ! yo el codigo que tengo para incluir nueva información es:
Código:
<%Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("bd.mdb"))


set rs=createobject("ADODB.Recordset")
rs.CursorType = adOpenKeyset 
rs.LockType = adLockOptimistic 

rs.open "PARTES",conn
rs.addnew
rs("AREA_INC")=Upload.Form("area")
rs("COD_EQUIPO")=Upload.Form("CODIGO")
rs("comentarios")=Upload.Form("comentarios")
rs("fecha")=Upload.Form("fecha")
rs("hora")=Time()
rs.update
rs.close
conn.close
set rs=nothing
set conn=nothing
%>
pero ahora que lo quiero es cambiar datos de la bd en vez de añadir nuevos, me estoy volviendo loco porque en verdad no sé como debería hacerlo ya que mis conocimientos se limitan aquiii. os agradeceria mucho si alguien me puede echar un cable a ver que linea debo modificar. muchas gracias y un saludo.
  #2 (permalink)  
Antiguo 17/07/2006, 10:06
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años
Puntos: 39
Pues esto lo puedes ver en los faqs del foro pero veo que eres principiante y lo que mas quieres casi que te den las cosas en las manos ok lo voy hacer por que yo asi era al principio pero empieza a buscar.

'Recibimos los valores del formulario
campo1 = Trim(Request("campo1"))
campo2 = Trim(Request("campo2"))

'Aqui abres la conexion
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("bd.mdb"))

sqlString = "UPDATE Depto SET campo1 = '" & corregircomillas(campo1) & "', campo2 = '" & corregircomillas(campo2) & "' where registro_a_modificar = 'campo_algo' "

Conexion.Execute sqlString

y listo

SALDUOS::
  #3 (permalink)  
Antiguo 25/07/2006, 02:13
 
Fecha de Ingreso: noviembre-2005
Mensajes: 62
Antigüedad: 18 años, 5 meses
Puntos: 0
Hola Potro muchas gracias por tu respuesta y perdona por no contestar antes, he estado fuera, estube intentando con tu codigo pero me daba error, no sé porque...

he buscado en el foro y he visto esta otra forma:

Código:
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("bd.mdb"))

str_sql = "Update PARTES set (importe='& Request.Form(""importe"")&' )"

%>
Pero no me actualiza ni me da error... no sé que puede faltar o o fallar, yo lo que quiero es que me abra la tabla partes y me actualize el importe que le mando desde el formulario anterior. un saludo y gracias.
  #4 (permalink)  
Antiguo 25/07/2006, 09:05
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años
Puntos: 39
Lo unico que cambia es la forma de modificar...

str_sql = "Update PARTES set (importe='& Request.Form(""importe"")&' )"

el Request.Form toma directo del formulario las variables.

pero cualquiera de los dos funcionan y te a de marcar error por la funcion corregircomillas ponle esto al principio para evitar los errores con ( ´ ' ).

Function corregircomillas( cadena )
corregircomillas = Replace( cadena, "'", "''" )
End Function

SALUDOS:::::::
  #5 (permalink)  
Antiguo 25/07/2006, 09:07
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años
Puntos: 39
Lo unico que cambia es la forma de modificar...

str_sql = "Update PARTES set (importe='& Request.Form(""importe"")&' )"

el Request.Form toma directo del formulario las variables.

pero cualquiera de los dos funcionan y te a de marcar error por la funcion corregircomillas ponle esto al principio para evitar los errores con ( ´ ' ).

Function corregircomillas( cadena )
corregircomillas = Replace( cadena, "'", "''" )
End Function

SALUDOS:::::::
  #6 (permalink)  
Antiguo 26/07/2006, 09:54
 
Fecha de Ingreso: noviembre-2005
Mensajes: 62
Antigüedad: 18 años, 5 meses
Puntos: 0
gracias de nuevo Potro, finalmente lo dejo asi:

Código:
<%
Function corregircomillas( cadena )
corregircomillas = Replace( cadena, "'", "''" )
End Function


'Aqui abres la conexion
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("bd.mdb"))

str_sql = "Update PARTES set (importe='& Request.Form(""importe"")&' )"

%>
Pero el tema es que no me modifica la bd, vamos ni se inmuta jeje pero tampoco me da error alguno, no sé que detalle se me escapará, debe ser una tonteria. Saludos

Última edición por snake25; 26/07/2006 a las 10:04
  #7 (permalink)  
Antiguo 26/07/2006, 10:36
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años
Puntos: 39
en tu sentencia sql:

str_sql = "Update PARTES set (importe='& Request.Form(""importe"")&' )"

no le dices que a que registro modificar

str_sql = "Update PARTES set (importe='& Request.Form(""importe"")&' where campo = 'algo')"


Aun que te recomiendo la mia ya que tienes una función que te corrige acenttos y cosas raras jeje que te puede marcar un error si no lo tienes.

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 01:57.