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

DLL para consulta

Estas en el tema de DLL para consulta en el foro de ASP Clásico en Foros del Web. Muy buenos días a todos !!!! Soy una principianta en tema de asp, y tengo una duda que seguramente será muy fácil para vosotros. Veréis, ...
  #1 (permalink)  
Antiguo 02/04/2003, 00:56
 
Fecha de Ingreso: noviembre-2002
Mensajes: 223
Antigüedad: 22 años, 5 meses
Puntos: 1
DLL para consulta

Muy buenos días a todos !!!!

Soy una principianta en tema de asp, y tengo una duda que seguramente será muy fácil para vosotros.

Veréis, he construido una web que debe tener acceso a una base de datos para realizar consultas a la misma. Mi pregunta es si es conveniente hacer una dll sabiendo que sólo se va a consultar la base de datos (por el momento no se permiten actualizaciones en la misma). En caso afirmativo, ¿con qué programa podría hacerla?

Muchas gracias de antemano y que tengáis un buen día !!!
  #2 (permalink)  
Antiguo 02/04/2003, 01:07
Avatar de MsTech.DotNet  
Fecha de Ingreso: marzo-2003
Ubicación: Maracay - Edo. Aragua
Mensajes: 605
Antigüedad: 22 años, 1 mes
Puntos: 0
Mensaje Mmmmm no creo que sea necesario...

En verdad no creo que sea necesario la realizacion de un componente o dll para solo realizar una consulta a la base de datos... lo que si quieres para hacer algo parecido es hacer un archivo include es decir... metes el objeto de conexion y la consulta en un archivo cualquiera.asp y lo accesas desde otro a traves de un include...

Algo asi...

Código:
<!--#include file="tuarchivodeconsulta.asp"-->
Existen varios tipos de include... aqui tienes las explicaciones...

<!--#include file="archivo.asp"--> indica que se va a incluir un archivo que está dentro del mismo directorio. A diferencia de otros SSI, en ASP es posible incluir archivos que este fuera del directorio utilizando los famosos ../ (<!--#include file="../archivo.asp"-->).

<!--#include virtual="/includes/archivo.asp"--> indica que se va a incluir un archivo que se encuentra dentro del directorio virtual "includes" en la raíz del sitio.

Espero que te sirva de algo... ya que con este metodo ahorrarias estar cambiando la consulta por ejemplo en todas las paginas que utilicen dicha consulta o cambiar el nombre de la base de datos en todas las paginas sino que lo puedes cambiar directamente en este "unico" achivo....

Saludos...
__________________
Ing. Javier Ugalde
Desarrollador de Aplicaciones Web / Windows
Director de Desarrollos Web
Ing. en Información
Email: [email protected]
Telf. Hab: +[58] - (243) - 232.02.06
Telf. Cel: +[58] - (414) - 455.26.80
  #3 (permalink)  
Antiguo 02/04/2003, 01:27
 
Fecha de Ingreso: noviembre-2002
Mensajes: 223
Antigüedad: 22 años, 5 meses
Puntos: 1
Muchas gracias por contestarme, entiendo lo que quieres decir, pero teniendo en cuenta que posiblemente en el futuro se efectuén actualizaciones en la BBDD, no es mejor hacer ya la dll???
  #4 (permalink)  
Antiguo 02/04/2003, 01:53
Avatar de MsTech.DotNet  
Fecha de Ingreso: marzo-2003
Ubicación: Maracay - Edo. Aragua
Mensajes: 605
Antigüedad: 22 años, 1 mes
Puntos: 0
No necesariamente...

En realidad todo depende de como quieras enfocar lo que estes desarrollando... yo he desarrollado si se puede decir sistemas con administracion de tablas de la base de datos y todo sin usar componentes... no es necesario o mejor dicho no es un requisito indispensable... todo depende repito, de como lo quieras enfocar, ya que a veces o posiblemente conviene el uso de componentes o dlls... si es una aplicacion web bien sea para internet o una intranet y no tienes conocimientos del manejo de las dlls lo mejor es que lo hagas como te comente anteriormente...

De cualquier forma el resultado seria el mismo... claro esta que si estas interesada en aprender mas sobre el tema lo podrias realizar con dll pero creo que no es necesario... yo creo que una vez utilize componentes y dll con una aplicacion en Visual Basic que diseñe...

Ademas como dices que solo es para consultas y posteriormente puede que sea para actualizar y eso no creo que sea un requisito el uso de dlls... si fuese que con el dlls realizas otras acciones que tengan que ver con archivos por ejemplo, mmm no se no se me viene ningun ejemplo bueno a la cabeza... , podrias usar dlls pero vuelvo y repito y valga la redundancia jejejeje , si no has trabajado con las dlls usa mejor lo que te recomende... si deseas aprender sobre las dlls entonces aprovecha la ocacion e implementala.....

Espero que te sirva...

Cualquier inquietud no dudes en consultar...

Saludos...
__________________
Ing. Javier Ugalde
Desarrollador de Aplicaciones Web / Windows
Director de Desarrollos Web
Ing. en Información
Email: [email protected]
Telf. Hab: +[58] - (243) - 232.02.06
Telf. Cel: +[58] - (414) - 455.26.80
  #5 (permalink)  
Antiguo 02/04/2003, 02:59
 
Fecha de Ingreso: noviembre-2002
Mensajes: 223
Antigüedad: 22 años, 5 meses
Puntos: 1
Mil gracias por tu respuesta, como soy novatilla en esto empezaré haciendolo con include para ver que todo funcione bien, y después ....., pues tocará aprender a implementar la dll !!! Iremos por pasos.

Aprovecho para hacer otra consulta. La primera página asp debe mostrar tres listas desplegables dependientes cuyos valores los saco de la BBDD. He estado mirando un ejemplo en la página de aspfacil y lo complican muchísimo porque crean arrrays donde guardan la información, ... en fin, un lío. La dir. del ejmplo es.
http://www.aspfacil.com/codigo/verco...pendientes.asp

Me pregunto si es posible hacerlo de una forma más sencilla.

Mi primera consulta para rellenar la primera lista (TxtCampo) es algo así:

SELECT *FROM Campos ORDER BY Campo

Una vez que elija un valor de la lista, meto en un campo oculto (IdCampo) su identificador.

SELECT id_Campo FROM Campos WHERE Campos.Campo=document.forms.Formulario1.TxtCampo[selectedIndex]

Para rellenar la segunda lista (dependiendo del valor de la primera) podría hacer algo así:

SELECT * FROM Materias WHERE (Materias.Id_campo)=document.forms.Formulario1.IdC ampo[selectedIndex]

Bueno, no se si me he explicado medianamente bien para que puedas comprender un poco por encima lo que pretendo hacer. ¿Crees que todo esto podría funcionar?

Muchas gracias por tu ayuda y perdona las molestias.
  #6 (permalink)  
Antiguo 02/04/2003, 08:11
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 23 años, 5 meses
Puntos: 0
el uso de dll's no es solamente para manejo de archivos o algo por el estilo...te permite un mayor rendimiento en las transacciones con la base de datos y ademas te sirve para encapsular todo tu codigo query y procedimientos de negocios importantes que no quieres que sea visible desde una pagina asp.

Como lo ves ademas sirve para proteger tu codigo. Segun lo recomendado por mocosft lo ideal es

pagina asp + COM + stored procedures...

aunke ya lo desarrollos con dll's ya estan quedando en el pasado con la incorporacion de .NET y la especificacion J2EE de sun
  #7 (permalink)  
Antiguo 02/04/2003, 09:28
Avatar de MsTech.DotNet  
Fecha de Ingreso: marzo-2003
Ubicación: Maracay - Edo. Aragua
Mensajes: 605
Antigüedad: 22 años, 1 mes
Puntos: 0
Exacto...

Exacto... Lo que comenta nuestro amigo bakanzipp es totalmente cierto... la utilizacion de componentes y dlls te dan un mayor nivel de seguridad a la hora de desarrollar tus aplicaciones... pero como mencioné anteriormente, no es necesario hasta un punto.. es decir... si solo se trata de una simple consulta y que luego se llegue a la parte de actualizacion no es tan indispensable el uso de dlls pero claro esta que como lo dice bakanzipp lo ideal seria...

Asp + COM + Stored Procedures....

Ahora con .net todo cambia un poco aunque se sigue manteniendo algo parecido a lo que se venia manejando... no se si estoy en lo cierto pero se que se sigue usando "asp.net" + "COM+" y los Stored Procedures.... pero el enfoque de las dlls cambia un poco...

Saludos...
__________________
Ing. Javier Ugalde
Desarrollador de Aplicaciones Web / Windows
Director de Desarrollos Web
Ing. en Información
Email: [email protected]
Telf. Hab: +[58] - (243) - 232.02.06
Telf. Cel: +[58] - (414) - 455.26.80
  #8 (permalink)  
Antiguo 02/04/2003, 09:36
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 23 años, 5 meses
Puntos: 0
creo que estas un poco errado....

con .net ya no es necesario el uso de dll's....fue un buen cambio porke el desarrollo de las dll's era engorroso, siempre surgian problemas con el registro de las componentes y pasaba sobrecargado el server con componentes....

.NET ahora maneja de forma nativa las componentes y lo que se construyen son proyectos completos (utilizando una sola herramienta) que unen todo en un solo package...mas bien una copia fidedigna a lo que lanzo J2EE unos años antes....hasta C# tiene una similitud con java... pero bueno...

si no puedes con ellos úneteles. Tampoco hay que desmerecer que .NET mejoro de forma notable el desarrollo de paginas dinamicas...
  #9 (permalink)  
Antiguo 02/04/2003, 09:48
Avatar de MsTech.DotNet  
Fecha de Ingreso: marzo-2003
Ubicación: Maracay - Edo. Aragua
Mensajes: 605
Antigüedad: 22 años, 1 mes
Puntos: 0
De acuerdo por supuesto....

No no no a lo mejor no me explique bien... yo se que ya en .net no es necesario el uso de dlls, ahora .net maneja lo que se llama codigo administrado y por lo que tengo entendido las referencias a las dlls necesarias se especifican en la parte del ensamblado...

Es decir...

.Net manaja el codigo de la siguiente manera...

Codigo ASP.net ---> Compilación (MSIL) ---> Ensamblado --->
JIT ---> Codigo de Maquina

Entonces lo que quise decir es que .Net maneja las dlls de otra forma no quise decir que las usa ni nada de eso... sino que en el ensamblado incluye las dlls necesarias para correr las aplicaciones que estes desarrollando ...

Es lo que tengo entendido...

De todos modos si notas alguna confusión de mi parte aclarame la duda porque de eso se trata... de aprender...

Saludos...
__________________
Ing. Javier Ugalde
Desarrollador de Aplicaciones Web / Windows
Director de Desarrollos Web
Ing. en Información
Email: [email protected]
Telf. Hab: +[58] - (243) - 232.02.06
Telf. Cel: +[58] - (414) - 455.26.80
  #10 (permalink)  
Antiguo 02/04/2003, 09:55
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 23 años, 5 meses
Puntos: 0


TODO BIEN MsTech.DotNet
  #11 (permalink)  
Antiguo 02/04/2003, 09:57
Avatar de MsTech.DotNet  
Fecha de Ingreso: marzo-2003
Ubicación: Maracay - Edo. Aragua
Mensajes: 605
Antigüedad: 22 años, 1 mes
Puntos: 0
Gracias....

Gracias amigo... bueno ya sabes la idea es compartir conocimientos, aprendizajes y experiencias...

Gracias por todo...

Saludos.....
__________________
Ing. Javier Ugalde
Desarrollador de Aplicaciones Web / Windows
Director de Desarrollos Web
Ing. en Información
Email: [email protected]
Telf. Hab: +[58] - (243) - 232.02.06
Telf. Cel: +[58] - (414) - 455.26.80
  #12 (permalink)  
Antiguo 02/04/2003, 10:08
Avatar de MsTech.DotNet  
Fecha de Ingreso: marzo-2003
Ubicación: Maracay - Edo. Aragua
Mensajes: 605
Antigüedad: 22 años, 1 mes
Puntos: 0
Pregunta Sobre lo que comenta Liz69

En realidad no estoy seguro de lo que comentas liz si puedes explicarte mejor...

Se que quieres mostrar tres combo box en donde al seleccionar el primero se llene el 2do y al seleccionar el segundo se llene el tercero?? todo desde una base de datos???

Si es asi... tengo un codigo no completo que te puede ayudar....

Código:
<%@ Language=VBScript %>
<%Option explicit
Dim oRs, conn, connect, strSQL

set conn=server.CreateObject ("adodb.connection")
connect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("courses.mdb") & ";Persist Security Info=False"
conn.Open connect

%>
<html>
<head>
<title>Ejemplo combo box</title>

<script language="javascript">
<!--

function dept_onchange(frmSelect) {
	frmSelect.submit(); 
}

//-->
</script>
</head>
<body>
Elemento Seleccionado: <%=Request.Form ("courses")%>

<form name="frmSelect" method="Post" action="select.asp">
<SELECT name=courses LANGUAGE=javascript onchange="return dept_onchange(frmSelect)">
	<%		
	Set oRs=Server.CreateObject("adodb.recordset")
	strSQL = "SELECT DISTINCT CourseName FROM tblCourses ORDER BY CourseName"
	oRs.Open strSQL, conn		
		
	Do while not oRs.EOF
		if Request.Form("courses") = oRs("CourseName") then 'if this is the selected one then display as selected
			Response.Write "<OPTION VALUE = '" & oRS ("CourseName") & "' SELECTED>"
			Response.Write oRs("CourseName") & "</Option>"
			oRs.MoveNext 
		else
			Response.Write "<OPTION VALUE = '" & oRs ("CourseName") & "'>"
			Response.Write oRs("CourseName") & "</Option>"
			oRs.MoveNext 
		end if
	loop		
	%>
</SELECT>
</form>

</body>
</html>
Este codigo lo que hace es manejar el evento "onchange" del combo box... podrias seguirlo desarrollando para que al cambiar de estado el combo box te llene el segundo segun x parametro y asi con el tercero... de todos modos si puedes explicarte mejor para estar seguro de que es lo que estas pidiendo, seria bueno..

De todos modos voy a seguir investigando para lo que estas comentando aunque revise el codigo que mostraste hace lo que necesitas llena un combo box a raiz de otro podrias usar ese codigo...
__________________
Ing. Javier Ugalde
Desarrollador de Aplicaciones Web / Windows
Director de Desarrollos Web
Ing. en Información
Email: [email protected]
Telf. Hab: +[58] - (243) - 232.02.06
Telf. Cel: +[58] - (414) - 455.26.80

Última edición por MsTech.DotNet; 02/04/2003 a las 10:10
  #13 (permalink)  
Antiguo 02/04/2003, 10:49
inukisoft
Invitado
 
Mensajes: n/a
Puntos:
Lei un resto, pero tengo que aportar algo.
Hay que usar arquitectura DNA (porque la .net no esta madura)
Esta consiste en separar por capas la aplicación (presentacion, logica,datos)
la presentacion se conforma por paginas ASP (o Forms). Solo tiene el resultado y nada de codigo para acceder a bases de datos o de codigo que tenga que ver con procedimientos del negocio
la logica es donde van todos los procedimientos de negocio. Por ejemplo, el calculo de un descuento para las compras anuales de un cliente es una consulta a una base de datos sobre el monto, pero a este resultado se le aplica una formula que modifica el resultado. si se modifica el procedimiento solo se cambia esta componente de logica (esta es una dll que puede ser hecha en cualquier lenguaje compatible con COM+). La logica no incluye codigo SQL para acceder a una base de datos
la capa de datos es donde se tienen todas las cosultas SQL. Lo ideal es crear una DLL por cada tabla, en la que se agrupan normalmente las mismas operaciones (agregar, modificar, listar, buscar).
Este se le llama modelo multicapa y tiene la ventaja que cuando se desea actualizar algo, solo se cambia la componente.
Pero de mi punto de vista profesional, aunque el modelo es muy bueno, sigue siendo microsoft. Lastima.
Ojala que esta informacion te sirva. Si deseas saber mas me lo comunican. Tengo harto material. Bueno.. nos vemos chaito y suerte
  #14 (permalink)  
Antiguo 02/04/2003, 12:52
 
Fecha de Ingreso: noviembre-2002
Mensajes: 223
Antigüedad: 22 años, 5 meses
Puntos: 1
Hola a todos !!!!!!!!!!!!!!!

Muchísimas gracias por la cantidad de información que me habéis proporcionado, ahora tengo que empezar a asimilarlo todo, aunque creo que sería buena cosa ir por pasos para aprender. No obstante, creo que al final intentaré implementar una dll.

Gracias por tu código, MsTech.DotNet. Exactamente quiero hacer lo que me comentas, es decir, tengo una primera lista desplegable que se rellena con los valores de una tabla de la BBDD. Según el usuario seleccione un valor, se rellena una seguna lista desplegable, es decir, esta depende del valor de la primera, pero los datos los saco también de otra tabla de la BBDD.
Igualmente, la tercera lista depende de la segunda.

¿Podéis ayudarme con esto?
  #15 (permalink)  
Antiguo 02/04/2003, 13:02
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 23 años, 5 meses
Puntos: 0
aqui hay algo

http://www.forosdelweb.com/showthrea...threadid=75056
  #16 (permalink)  
Antiguo 02/04/2003, 13:20
 
Fecha de Ingreso: noviembre-2002
Mensajes: 223
Antigüedad: 22 años, 5 meses
Puntos: 1
Muchas gracias. Le echaré un vistazo y ya te contaré.

De todos modos, mi idea era usar algo parecido al código que te puse, aunque no se si va a funcionar.
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 17:24.