Los Foros de ASPTutor.com
Home | Perfil | Registrarse | Temas Activos | Miembros | Buscar | FAQ
Usuario:
Password:
 Todos los Foros
 ADO
 Actualizar campos de un registro
 Foro Bloqueado  Tema Bloqueado


Autor Temas
root
New Member


50 Posts
Mensajes - 10 Oct 2002 :  16:59:31  Ver Perfil  Enviar Email
Tengo 1 problema y no tengo ni idea de por donde me da el aire. Tengo el tipico formulario que me sirve para modificar datos de un registro de mi base de datos. Modifico el nombre, edad..etc .Estos valores los paso a otra pagina donde los recogo con el request.form. Esos valores que recibo ahora son los que deben ir a la base de datos, pero me he dado cuenta que no hay un metodo edit. Es decir NO SE COMO ACTUALIZAR EL REGISTRO.. AYUDAAA, PLEASE

andgomez98
Junior Member

Colombia
424 Posts
Posted - 10 Oct 2002 :  18:07:01  Ver perfil  Enviar e-mail  Visit andgomez98's Homepage  Enviar andgomez98 un Mensaje Yahoo!e
Edit no existe en la segunda pagina donde recibes el formulario lo que tienes que hacer es utilizar el methodo Update que si tu varible recordset es objRS quedaria entonces objRS.Update...

Edit no Update ok..

Saludos de Colombia

Andrés GómezInicio Pagina

andgomez98
Junior Member

Colombia
424 Posts
Posted - 10 Oct 2002 :  18:13:11  Ver perfil  Enviar e-mail  Visit andgomez98's Homepage  Enviar andgomez98 un Mensaje Yahoo!e
Aqui te envio un poco de codigo de una pagina que actuliza los datos la que seria tu segunta pagina...

<%@ Language=VBScript %>
<% Option Explicit %>
<!--#include virtual="adovbs.inc"-->
<%Response.Buffer = True%>
<%
'Abre una conexión a nuestra base de datos Access
'que guarda la información de clientes.

Dim objConn
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString="DRIVER={Microsoft Access Driver (*.mdb)};" & _
"DBQ=C:\mis documentos\datosservicios.mdb"
objConn.Open
'Crea una instancia de objeto Recordset, y recopila

Dim StrSQL, Codigo, NumSuc

StrSQL = "SELECT * FROM Clientes WHERE Codigo = '"&Codigo&"'"

Dim objRS
Set objRS = Server.CreateObject("ADODB.Recordset")
objRs.CursorType = 2
objRs.LockType = 2
objRS.Open StrSQL, objConn

objRS("Razon")=Request.Form("EMPRESA")
objRS("Nit") = Request.Form("NIT")
objRS("Encargado") = Request.Form("ENCARGADO")
objRS("Cargo") = Request.Form("CARGO")
objRS("Direccion") = Request.Form("DIRECCION")
objRS("Telefonos") = Request.Form("TELEFONO")
objRS("eMail") = Request.Form("EMAIL")
objRS("Fax") = Request.Form("FAX")

objRS.Update
objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
%>

Andrés GómezInicio Pagina

hpizarro92
Starting Member

Chile
21 Posts
Posted - 16 Jul 2003 :  21:14:03  Ver perfil  Enviar e-mail
¿Alguien sabe hacer esta misma funcion pero para Oracle8?.

Gracias.

Inicio Pagina

elei
Starting Member

Mexico
24 Posts
Posted - 07 Aug 2003 :  03:21:08  Ver perfil  Enviar e-mail
Este codigo tambien sirve para actualizar un registro, pero en lugar de los metodos del objeto Recordset, utiliza una sentencia SQL


<%@ Language=VBScript %>
<% Option Explicit %>
<% Response.Expires = 0 'Evita que se almacene la pagina en cache %>

<%
Dim strNombre, strApellidos, strOcupacion, strOrganizacion, strPuesto, strDireccion, strCiudad, strPais, strTelefono
Dim strEmail, strUsuario, strPassword


strNombre = Request.Form("txtNombre")
strApellidos = Request.Form("txtApellidos")
strOcupacion = Request.Form("txtOcupacion")
strOrganizacion = Request.Form("txtOrganizacion")
strPuesto = Request.Form("txtPuesto")
strDireccion = Request.Form("txtDireccion")
strCiudad = Request.Form("txtCiudad")
strPais = Request.Form("txtPais")
strTelefono = Request.Form("txtTelefono")
strEmail = Request.Form("txtEmail")
strUsuario = Request.Form("txtUsuario")
strPassword = Request.Form("txtPassword")


Dim Conexion
Dim RS
Dim strSQL
Dim strConnectionString

strConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("Usuarios2.mdb")

Set Conexion = Server.CreateObject("ADODB.Connection")
Conexion.Open strConnectionString

'Cadena SQL que contiene la instruccion para actualizar un registro
strSQL = "UPDATE Usuarios SET Nombre = " & CC(strNombre) & "," & _
" Apellidos = " & CC(strApellidos) & "," & _
" Ocupacion = " & CC(strOcupacion) & "," & _
" Organizacion = " & CC(strOrganizacion) & "," & _
" Puesto = " & CC(strPuesto) & "," & _
" Direccion = " & CC(strDireccion) & "," & _
" Ciudad = " & CC(strCiudad) & "," & _
" Pais = " & CC(strPais) & "," & _
" Telefono = " & CC(strTelefono) & "," & _
" Email = " & CC(strEmail) & "," & _
" Usuario = " & CC(strUsuario) & "," & _
" Password = " & CC(strPassword) & "" & _
" WHERE IdUsuario = 23"



'Guarda el registro an la tabla
Set RS = Conexion.Execute(strSQL)

'Recomendado cerrar y asignar a Nothing para liberar recursos
Conexion.Close
Set Conexion = Nothing
%>


<%
'Funcion que pone comillas simples al principio y final de una cadena
'Ejemplo Juan -> 'Juan'
Private Function CC(Cadena)
Cadena = "'" & Cadena & "'"
CC = Cadena 'Valor que regresa
End Function
%>

Inicio Pagina

wichosaenz
Junior Member

Mexico
211 Posts
Posted - 04 Sep 2003 :  23:19:51  Ver perfil  Enviar e-mail  Enviar wichosaenz un Mensaje Yahoo!e
Amigo Elei, quisiera saber si me puedes ayudar con la modificacion de tu codigo pero para Actualizar en forma masiva varios registros.
Por medio de un Request.Form("identi"), traigo diferentes valores del ID de los registros que quiero actualizar ejemplo, mi Request.Form("identi") trae
(24325, 24326, 24327, 24328), en mi tabla X, hay un campo que se llama ID, y que los campos que coincidan con los ID´s anteriores se actualizen.
Todo esto usando sentencias SQL.
He tratado de hacerlo con Macromedia Ultradev, pero el comportamiento UPDATE que maneja solo permite hacer actualizaciones a un solo registro.
Quize modificar el codigo, mas bien la sentencias SQL pero no me hace nada...
Me podrias ayudar
Muchas Gracias


Wicho Saenz

¿Porque al terminar de armar un rompecabezas siempre falta una pieza?Inicio Pagina

elei
Starting Member

Mexico
24 Posts
Posted - 13 Sep 2003 :  02:44:59  Ver perfil  Enviar e-mail
Una solución que se me ocurre es mandar llamar a una funcion la cual haga la actualizacion. Esta funcion tendria como parametro el ID del registro a modificar. Esta funcion la metemos en un ciclo el cual va cambiando los valores de los IDs obtenidos.

Este es el codigo modificado:


<%@ Language=VBScript %>
<% Option Explicit %>
<% Response.Expires = 0 %>
<%
Dim strNombre, strApellidos, strOcupacion, strOrganizacion, strPuesto, strDireccion
Dim strCiudad, strPais, strTelefono, strEmail, strUsuario, strPassword
Dim i


strNombre = Request.Form("txtNombre")
strApellidos = Request.Form("txtApellidos")
strOcupacion = Request.Form("txtOcupacion")
strOrganizacion = Request.Form("txtOrganizacion")
strPuesto = Request.Form("txtPuesto")
strDireccion = Request.Form("txtDireccion")
strCiudad = Request.Form("txtCiudad")
strPais = Request.Form("txtPais")
strTelefono = Request.Form("txtTelefono")
strEmail = Request.Form("txtEmail")
strUsuario = Request.Form("txtUsuario")
strPassword = Request.Form("txtPassword")


'Aqui estoy definiendo 4 IDs como ejemplo, por supuesto esto lo adaptas
'segun como tú obtengas los valores.

Dim IDs(3)
IDs(0) = 24325
IDs(1) = 24326
IDs(2) = 24327
IDs(3) = 24328


For i = 0 To 3
ACTUALIZAR_REGISTRO(IDs(i))
Next

%>

<%
Private Sub ACTUALIZAR_REGISTRO(ID)
Dim Conexion
Dim RS
Dim strSQL
Dim strConnectionString

strConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("Users.mdb")

Set Conexion = Server.CreateObject("ADODB.Connection")
Conexion.Open strConnectionString

'Cadena SQL que contiene la instruccion para actualizar un registro
strSQL = "UPDATE Usuarios SET Nombre = " & CC(strNombre) & "," & _
" Apellidos = " & CC(strApellidos) & "," & _
" Ocupacion = " & CC(strOcupacion) & "," & _
" Organizacion = " & CC(strOrganizacion) & "," & _
" Puesto = " & CC(strPuesto) & "," & _
" Direccion = " & CC(strDireccion) & "," & _
" Ciudad = " & CC(strCiudad) & "," & _
" Pais = " & CC(strPais) & "," & _
" Telefono = " & CC(strTelefono) & "," & _
" Email = " & CC(strEmail) & "," & _
" Usuario = " & CC(strUsuario) & "," & _
" Password = " & CC(strPassword) & "" & _
" WHERE IdUsuario = " & ID


'Actualiza el registro en la tabla
Set RS = Conexion.Execute(strSQL)


Conexion.Close
Set Conexion = Nothing
Set RS = Nothing
End Sub
%>

<%
'Funcion que pone comillas simples al principio y final de una cadena
'Ejemplo Juan -> 'Juan'
Private Function CC(byVal Cadena)
Cadena = "'" & Cadena & "'"
CC = Cadena 'Valor que regresa
End Function
%>

Repito, esta es una solucion que se me ocurre y tal vez no sea la mejor manera. Pero para esto es el foro, si alguien tiene la mejor solución compartala.

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