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

Insertar datos a dos distintas tablas desde el mismo formulario

Estas en el tema de Insertar datos a dos distintas tablas desde el mismo formulario en el foro de ASP Clásico en Foros del Web. Hola amigos pues si estoy buscando un ejem,plo en el cual yo pueda con un mismo formulario insertar en dos distintas tablas de una base ...
  #1 (permalink)  
Antiguo 11/01/2005, 12:19
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 24 años
Puntos: 39
Insertar datos a dos distintas tablas desde el mismo formulario

Hola amigos pues si estoy buscando un ejem,plo en el cual yo pueda con un mismo formulario insertar en dos distintas tablas de una base de datos en ACCESS vi un ejemplo en webexperto pero no me sale ojala y ustedes me puedan ayudar les doy el codigo...

Este es el codigo del html:

<form method="POST" action="agregar.asp">
<p>Nombre <input type="text" name="nombre" size="20"><br>
Apellido <input type="text" name="apellido" size="20"><br>
Email <input type="text" name="email" size="20"><br>
Password <input type="text" name="password" size="20"><br>
<input type="submit" value="Agregar" name="enviar"></p>
</form>
  #2 (permalink)  
Antiguo 11/01/2005, 12:22
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 24 años
Puntos: 39
y este es el codigo del agregar.asp

<%
' tomamos los datos del formulario
nombre = Request.Form("nombre")
apellido = Request.Form("apellido")
email = Request.Form("email")
password = Request.Form("password")

' creamos la conexion y los 2 recordset
Set Con=Server.CreateObject("ADODB.Connection")

Set RS=Server.CreateObject("ADODB.RecordSet")
Set RS2=Server.CreateObject("ADODB.RecordSet")

Con.Open "gema"

' ejecutamos una consulta para cada recorset
RS.Open "SELECT * FROM Usuarios", Con, adOpenDynamic, adLockPessimistic, adCMDText
RS2.Open "SELECT * FROM UsuariosPassword", Con, adOpenDynamic, adLockPessimistic, adCMDText

' agregamos los datos a la primera tabla
RS.AddNew
RS("nombre")= nombre
RS("apellido")= apellido
RS.Update

' agregamos los datos a la segunda tabla
RS2.AddNew
RS2("email")= email
RS2("password")= password
RS2.Update

' cerramos los objetos y liberamos memoria
RS.Close
RS2.Close
MyConn.Close
Set RS = Nothing
Set RS2 = Nothing
Set MyConn = Nothing
%>




*******************

gema es el nombre de mi DSN y todo esta en la misma carpeta pero cuando trato de insertarlos me marca error..

este es el link

http://www.ameg.org.mx/cgi-bin/news/formulario.htm

ojala me puedan ayudar...
  #3 (permalink)  
Antiguo 12/01/2005, 09:40
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 22 años, 5 meses
Puntos: 1
Y donde esta el comando que apunta a la base de datos?
__________________
Miguel Padrón :cool:
  #4 (permalink)  
Antiguo 12/01/2005, 10:28
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 22 años, 6 meses
Puntos: 0
Ok. pruebalo con los cambios que le hize, si no te funciona, lo reviso de nuevo...
no te funciona porque el conflicto lo generas al intentar dos Con, estando uno ya abierto...



<%
' tomamos los datos del formulario
nombre = Request.Form("nombre")
apellido = Request.Form("apellido")
email = Request.Form("email")
password = Request.Form("password")

' creamos la conexion y los 2 recordset
Set Con=Server.CreateObject("ADODB.Connection")
Set RS=Server.CreateObject("ADODB.RecordSet")

Con.Open "gema"

' ejecutamos una consulta para cada recorset
RS.Open "SELECT * FROM Usuarios", Con, adOpenDynamic, adLockPessimistic, adCMDText


' agregamos los datos a la primera tabla
RS.AddNew
RS("nombre")= nombre
RS("apellido")= apellido
RS.Update

RS.Close
Set RS = Nothing
con.close




Set Con2=Server.CreateObject("ADODB.Connection")
Set RS2=Server.CreateObject("ADODB.RecordSet")
Con.Open "gema"
RS2.Open "SELECT * FROM UsuariosPassword", Con, adOpenDynamic, adLockPessimistic, adCMDText



' agregamos los datos a la segunda tabla
RS2.AddNew
RS2("email")= email
RS2("password")= password
RS2.Update

' cerramos los objetos y liberamos memoria
RS2.Close
Con2.Close
Set RS2 = Nothing
Set Con2 = Nothing
%>
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein

Última edición por univercity; 12/01/2005 a las 10:31
  #5 (permalink)  
Antiguo 12/01/2005, 10:33
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 22 años, 6 meses
Puntos: 0
ahhhh, y a la password en el form colocale type = "password" , para que no te muestre los caracteres...

y buscate un validador de email... pero hay andan codigos...
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein
  #6 (permalink)  
Antiguo 12/01/2005, 11:03
Avatar de Prefontaine  
Fecha de Ingreso: agosto-2004
Mensajes: 313
Antigüedad: 20 años, 8 meses
Puntos: 0
Set Con=Server.CreateObject("ADODB.Connection")

aquí lo tines, ahora crea la conexion...

Un saludo
  #7 (permalink)  
Antiguo 12/01/2005, 11:06
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 22 años, 6 meses
Puntos: 0
de que hablas Prefontaine?????... si la conexion la tiene hecha y esta trabajando con Odbc... Con.Open "gema"

Distinto es con OleDb ahí se escribe el Path...
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein
  #8 (permalink)  
Antiguo 12/01/2005, 11:15
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 24 años
Puntos: 39
univercity muchas gracias por contestar pero que te crees que no salio me marca error tambien se rompe la página...

Que estara pasando...
  #9 (permalink)  
Antiguo 12/01/2005, 11:27
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Coloca +-5 lineas de la linea 15 (que es la que truena), para ver que haces.
  #10 (permalink)  
Antiguo 12/01/2005, 14:16
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 22 años, 6 meses
Puntos: 0
Sorry, es que se me olvido arreglar un detalle...

Set Con2=Server.CreateObject("ADODB.Connection")
Set RS2=Server.CreateObject("ADODB.RecordSet")
Con2.Open "gema"
RS2.Open "SELECT * FROM UsuariosPassword", Con2, adOpenDynamic, adLockPessimistic, adCMDText


repara eso y nos cuentas...
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein
  #11 (permalink)  
Antiguo 13/01/2005, 12:48
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 24 años
Puntos: 39
ok ,uchas gracias lo pondre a ver que pasa les cuento al rato...
  #12 (permalink)  
Antiguo 13/01/2005, 13:03
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 24 años
Puntos: 39
mmmmmmmmmmmmmm pues que se creen que nop...

Este es el codigo que actualmente tengo...


<%
' tomamos los datos del formulario
nombre = Request.Form("nombre")
apellido = Request.Form("apellido")
email = Request.Form("email")
password = Request.Form("password")

' creamos la conexion y los 2 recordset
Set Con=Server.CreateObject("ADODB.Connection")
Set RS=Server.CreateObject("ADODB.RecordSet")

Con.Open "gema"

' ejecutamos una consulta para cada recorset
RS.Open "SELECT * FROM Usuarios", Con, adOpenDynamic, adLockPessimistic, adCMDText


' agregamos los datos a la primera tabla
RS.AddNew
RS("nombre")= nombre
RS("apellido")= apellido
RS.Update

RS.Close
Set RS = Nothing
con.close


Set Con2=Server.CreateObject("ADODB.Connection")
Set RS2=Server.CreateObject("ADODB.RecordSet")
Con2.Open "gema"
RS2.Open "SELECT * FROM UsuariosPassword", Con2, adOpenDynamic, adLockPessimistic, adCMDText


' agregamos los datos a la segunda tabla
RS2.AddNew
RS2("email")= email
RS2("password")= password
RS2.Update

' cerramos los objetos y liberamos memoria
RS2.Close
Con2.Close
Set RS2 = Nothing
Set Con2 = Nothing
%>


--------------------------------
en que ando mal ayudenme... me serviria mucho este ejercicio....
  #13 (permalink)  
Antiguo 13/01/2005, 13:14
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 22 años, 6 meses
Puntos: 0
y que error te dio...????
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein
  #14 (permalink)  
Antiguo 13/01/2005, 13:35
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 22 años, 6 meses
Puntos: 0
Sqltext2 ="SELECT * FROM UsuariosPassword"

RS2.open Sqltext2,Con2,3,3

cambia ambas conexiones para que te queden de esta manera, haz que la primera te quede igual a esta.



si aun asi te da error sacale los Con, Con2

Sqltext2 ="SELECT * FROM UsuariosPassword"

RS2.open Sqltext2,3,3
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein

Última edición por univercity; 13/01/2005 a las 13:38
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 05:55.