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

Insertar un campo en dos tablas

Estas en el tema de Insertar un campo en dos tablas en el foro de ASP Clásico en Foros del Web. Esto es lo que tengo, al final estan las preguntas, si veis algo mal aparte de lo que yo he visto, corregidme. BASE DE DATOS ...
  #1 (permalink)  
Antiguo 02/05/2003, 06:06
 
Fecha de Ingreso: marzo-2003
Mensajes: 11
Antigüedad: 21 años, 2 meses
Puntos: 0
Pregunta Insertar un campo en dos tablas

Esto es lo que tengo, al final estan las preguntas, si veis algo mal aparte de lo que yo he visto, corregidme.

BASE DE DATOS
inventario
idstock idproducto stock alerta

idstock: Clave principal (autonumerico)
idproducto: numerico, indexado=Si, con duplicados
stock: numerico
alerta: numerico

productos
idproducto nombre precio

idproducto: Clave principal (autonumerico)
nombre: texto
precio: numerico
__________________________________________________ ____________________
PAGINAS.ASP
Pagina 1: db.asp ( Con esta pagina se realiza la conexión con la base de datos)
Pagina 2: formularioinventario.asp (Con esta pagina se obtienen mediante un formulario los valores de los campos stock y alerta)
Pagina 3: formularioproductos.asp (Con esta pagina se obtienen mediante un formulario los valores de los campos nombre y precio)
Pagina 4: stock.asp
Pagina 5: productos.asp
__________________________________________________ ____________________

Pagina 1: db.asp ( Con esta pagina se realiza la conexión con la base de datos)

<!-- #include file="adovbs.inc" -->
<%

dim db
dim strConn


strConn = "constock"
Set db = Server.CreateObject("ADODB.Connection")
db.open strConn
%>

Pagina 2: formularioinventario.asp
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<html>
<head>
<title> formularioinventario </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<center>
<form method="POST" action="stock.asp">
<table>
<tr>
<td>Stock</td>
<td><input size=20 name="stock" value="<%= stock %>" maxlength=100></td>
</tr>
<tr>
<td>Alerta</td>
<td><input size=20 name="alerta" value="<%= alerta %>" maxlength=100></td>
</tr>
</table>
<input type="submit" value="Enviar">
</form>


</body>
</html>
Pagina 3: formularioproductos.asp
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<html>
<head>
<title> formularioproductos </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<center>
<form method="POST" action="productos.asp">
<table>
<tr>
<td>Nombre</td>
<td><input size=20 name="nombre" value="<%= nombre %>" maxlength=100></td>
</tr>
<tr>
<td>Precio</td>
<td><input size=20 name="precio" value="<%= precio %>" maxlength=100></td>
</tr>
</table>
<input type="submit" value="Enviar">
</form>
</body>
</html>

Pagina 4: stock.asp
<%@ LANGUAGE = "VBScript" %>
<!-- #include file="db.asp" --> (Establece conexion con la base de datos)

<% Set rsstock = Server.CreateObject("ADODB.RecordSet")

' Ahora ahi que abrir la tabla inventario
rsstock.Open "inventario", strConn, adOpenKeySet, adLockPessimistic, adCmdTable

' Añado un nuevo registro
rsstock.AddNew
rsstock ("stock") = Request.Form (“stock”)
rsstock ("alerta") = Request.Form ("alerta")
' Actualizar el registro
rsstock.update
' Obtener la idstock
idstock = rsstock("idstock")
' Cierro el Recordset
rsstock.Close
Set rsstock = Nothing %>
<html>
<head>
<title>stock</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
</body>
</html>

<%‘ Cierro la conexion con la base de datos
db.close
set db=nothing
%>
Pagina 5: productos.asp
<%@ LANGUAGE = "VBScript" %>
<!-- #include file="db.asp" --> (Establece conexion con la base de datos)

<% Set rsproductos = Server.CreateObject("ADODB.RecordSet")

' Ahora ahi que abrir la tabla productos
rsproductos.Open "productos", strConn, adOpenKeySet, adLockPessimistic, adCmdTable

' Añado un nuevo registro
rsproductos.AddNew
rsproductos ("nombre") = Request.Form (“nombre”)
rsproductos ("precio") = Request.Form ("precio")
' Actualizar el registro
rsproductos.update
' Obtener la idproducto
idproducto = rsproductos ("idproducto")
' Cierro el Recordset
rsproducto.Close
Set rsproductos = Nothing %>
<html>
<head>
<title>stock</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
</body>
</html>

<%‘ Cierro la conexion con la base de datos
db.close
set db=nothing
%>

SUPONGAMOS QUE LA PAGINA POR LA QUE EMPEZAMOS LA APLICACIÓN ES: Pagina 3: formularioproductos.asp
__________________________________________________ ____________________

PREGUNTAS:
- ¿Podria tener en una sola pagina ambos formularios y poder insertar los valores de los campos de las distintas tablas al mismo tiempo?
- Al rellenar los campos del formulario en la pagina formularioproductos.asp, haciendo click en Enviar se carga la pagina productos.asp, ¿Cómo podria hacer para que cuando se terminase de cargar se cargase automaticamente la pagina formularioinventario.asp?
- ¿ Como tendria que hacer para que al insertar un producto en la tabla producto, la idproducto que se le asigne en la tabla productos, pase tambien a la tabla inventario y que el stock y la alerta que yo introduzca en la pagina formularioinventario.asp se introduzca en la tabla inventario donde la idproducto sea la misma de la tabla producto, es decir, que el stock y la alerta correspondan al prducto que se envio mediante el formularioproductos.asp?

<<<<<<<<<<<<<<<<<< GRACIAS POR ADELANTADO>>>>>>>>>>>>>>>>>>>>


-
La tabla inventario tiene en comun con la tabla productos el campo idproducto,
¿ Como tendria que hacer para que cuando
  #2 (permalink)  
Antiguo 02/05/2003, 16:12
Avatar de lubetpic  
Fecha de Ingreso: enero-2002
Ubicación: San Jose
Mensajes: 679
Antigüedad: 22 años, 4 meses
Puntos: 0
Cita:
- ¿Podria tener en una sola pagina ambos formularios y poder insertar los valores de los campos de las distintas tablas al mismo tiempo?
para que quieres 2 formularios? con uno puedes hacer lo mismo

-
Cita:
Al rellenar los campos del formulario en la pagina formularioproductos.asp, haciendo click en Enviar se carga la pagina productos.asp, ¿Cómo podria hacer para que cuando se terminase de cargar se cargase automaticamente la pagina formularioinventario.asp?
haces un redirect a formularioinventario.asp y puedes hacer un formulario con variables ocultas dentro de productos.asp para que pasen los valores al otro

Cita:
- ¿ Como tendria que hacer para que al insertar un producto en la tabla producto, la idproducto que se le asigne en la tabla productos, pase tambien a la tabla inventario y que el stock y la alerta que yo introduzca en la pagina formularioinventario.asp se introduzca en la tabla inventario donde la idproducto sea la misma de la tabla producto, es decir, que el stock y la alerta correspondan al prducto que se envio mediante el formularioproductos.asp?
creo que planeaste mal tu db, estas repitiendo muchos campos que no necesariamente necesitas...por lo menos eso capté de tu pregunta, porque de entenderla, no la entendí
  #3 (permalink)  
Antiguo 06/05/2003, 04:37
 
Fecha de Ingreso: marzo-2003
Mensajes: 11
Antigüedad: 21 años, 2 meses
Puntos: 0
si puedes explicamelo mejor, porque no se como hacerlo. Gracias
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 21:15.