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

manual o ejemplo de como hacer un Do While cuando selecciono varias tablas

Estas en el tema de manual o ejemplo de como hacer un Do While cuando selecciono varias tablas en el foro de ASP Clásico en Foros del Web. Hola amigos... saben que me estuvieron ayudando con eso anteriormente pero aun no lo entiendo... se que puedo seleccionar varias tablas de mi base de ...
  #1 (permalink)  
Antiguo 06/05/2005, 15:00
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 7 meses
Puntos: 16
manual o ejemplo de como hacer un Do While cuando selecciono varias tablas

Hola amigos... saben que me estuvieron ayudando con eso anteriormente pero aun no lo entiendo... se que puedo seleccionar varias tablas de mi base de datos asi:
Código:
 
SELECT a.campo1, a.campo2, b.campo1, b.campo2 From tabla1 a,tabla2 b WHERE condición
o asi:
Código:
SELECT a.campo1, a.campo2, b.campo1 FROM tabla1 a INNER JOIN tabla2 b ON a.campoID = b.campoID WHERE condicion
Ok hasta ahi todo bien... ahora lo que quisiera que me explicaran es como podria hacer un Do While pero solo de uno de estos campos... por ejemplo si quisiera hacer una lista con todos los registros de la tabla 1 (a)... como lo hago para que solo aparezcan los de esa tabla????... bueno saludos y gracias por la paciencia

PD: en lo posible tratar de dar ejemplos con los mismos valores que puse yo para poder entenderlo mejor
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!

Última edición por El_Metallick; 06/05/2005 a las 15:24
  #2 (permalink)  
Antiguo 06/05/2005, 15:04
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
y seguimos con la

Código:
Do while not rs.EOF
  response.write rs("campo1")
  rs.MoveNext
Loop
este loop te imprimirá el campo llamado campo1, que pertenece a la tabla a
si necesitas imprimir el campo1 que pertence a la tabla b, deberás utilizar un alias para ese campo y entonces imprimirlo...


Salú!
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 06/05/2005, 15:25
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 7 meses
Puntos: 16
Código:
SELECT a.campo1, a.campo2, b.campo1 as alias FROM tabla1 a INNER JOIN tabla2 b ON a.campoID = b.campoID WHERE condicion
asi
Do While Not rs.Eof
Response.Write rs("alias")
Loop

o asi
Don While Not rs.Eof
Response.Write rs("aliascampo1")
Loop

o como?????

__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #4 (permalink)  
Antiguo 06/05/2005, 15:29
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
El Metallick, cuántas veces lo tengo que decir??? ja ja ja ja si tu alias, se llama alias, entonces alias le llamarás!!!

Do While Not rs.Eof
Response.Write rs("alias")
Loop

No preguntes antes de intentar, intenta, trata de arreglarlo y después preguntas...si ya tienes la idea, hazloooooo!

Ahora nada más de puro seguiré con mi trabajo

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 06/05/2005, 15:32
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 7 meses
Puntos: 16
ya ok sorry.... nunca mas ..... :P.... gracias por la paciencia de todos modos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #6 (permalink)  
Antiguo 06/05/2005, 15:46
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 7 meses
Puntos: 16
U_goldman... he probado hasta aburrirme y no se porque me tira error este código.... he hecho todo lo que me has dicho pero no quiere no se porque...
Código:
<%
'Declarar Variables
Dim Conn
Dim sql
Dim rs
Dim categoria
 
'Rescate de valores por URL
categoria = Request.Querystring("id")
 
'Se pone una condición
if categoria = "" Then
categoria = 1
end if
 
'Instanciar y abrir la conección
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("catalogo.mdb"))
 
'Creación de la sentencia SQL correspondiente
sql="Select a.id_categoria, a.nombre_categoria, b.id_producto, b.categoria, b.imagen, b.nombre, b.precio From categorias a INNER JOIN productos b ON a.id_categoria = b.categoria Where b.categoria = " & categoria & ""
 
'Ejecución de la orden
Set rs = Conn.Execute(sql) ' linea 38
%>
<table border="0" width="100%" cellspacing="0" cellpadding="0">
 <tr>
  <td width="50%">
   <table border="0" width="100%" cellspacing="0" cellpadding="0">
	<tr>
	 <td width="100%">Categorías</td>
	</tr>
 <% 
 Do While Not rs.Eof 
 %>
	<tr>
  <td width="100%"><a href="verdetalle.asp?id=<% = rs("id_categoria") %>"><% = rs("nombre_categoria") %></a></td>
	</tr>
 <%
 rs.MoveNext
 Loop
 %>
   </table>
  </td>
  <td width="50%">
   <% 
   Do While Not rs.Eof 
   %>
   <table border="0" width="100%" cellspacing="0" cellpadding="0">
	<tr>
	 <td width="33%"><a herf="verdetalle.asp?id=<% = rs("id_producto") %>"><img src="<% = rs("imagen") %>"></a></td>
	 <td width="33%"><a herf="verdetalle.asp?id=<% = rs("id_producto") %>"><% = rs("nombre") %></a></td>
	 <td width="34%"><% = rs("precio") %></td>
	</tr>
   </table>
   <%
   rs.MoveNext
   Loop
   %>
  </td>
 </tr>
</table>
el error es:
Microsoft JET Database Engineerror '80040e10'


No se han especificado valores para algunos de los parámetros requeridos /pruebas/catalogo/catalogo.asp, line 38

no se porque.... he probado cambiando todo lo que he podido pero = no quiere
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #7 (permalink)  
Antiguo 06/05/2005, 15:53
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Pon la estructura de esas dos tablas aqui...
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #8 (permalink)  
Antiguo 06/05/2005, 19:34
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 7 meses
Puntos: 16
tabla categorias

id_categoria (Autonumérico)
nombre_categoria (Texto)

tabla productos

id_producto (Autonumério)
categoria (Numérico)
imagen (Texto)
nombre (Texto)
precio (Numérico)

pero sabes que en otro PC fuciona bien solo que no muestra las listas (formatie mi pc y tb me funciono)... pero no tira error.... no s pero es bastante raro. Ahora no se que le bajo que no me tira las listas....
el código es:
Código:
 <% 
Do While Not rs.Eof 
%>
	<tr>
<td width="100%"><a href="verdetalle.asp?id=<% = rs("id_categoria") %>"><% = rs("nombre_categoria") %></a></td>
	</tr>
<%
rs.MoveNext
Loop
%>
</table>
</td>
<td width="50%">
<% 
Do While Not rs.Eof 
%>
<table border="0" width="100%" cellspacing="0" cellpadding="0">
	<tr>
	 <td width="33%"><a herf="verdetalle.asp?id=<% = rs("id_producto") %>"><img src="<% = rs("imagen") %>"></a></td>
	 <td width="33%"><a herf="verdetalle.asp?id=<% = rs("id_producto") %>"><% = rs("nombre") %></a></td>
	 <td width="34%"><% = rs("precio") %></td>
	</tr>
</table>
<%
rs.MoveNext
Loop
%>
segun yo correcto pero no me aparece nada en pantalla... no se porque... osea segun lo que me dijista asi se llama a un registro o no????....

Saludos gracias
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!

Última edición por El_Metallick; 07/05/2005 a las 10:40
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 15:06.