border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 

Cuenta Bancaria en EEUU
  #1 (permalink)  
Antiguo 14-04-2005, 17:27:38
Avatar de Anl
Anl Anl is offline
Gran Participación en el Foro
 
Registrado: feb 2005
Posts: 150
Anl Valoración +2
Predeterminado Pregunta de rendimiento

Tengo una duda hace ya un tiempo....pero ahora necesito llevarlo a la practica.

En el DataEnvironment por lo general hay una conexion y de ahi parten varios comandos y cada uno devuelve un Recordset. Ahora en el control ADO, con cada uno que inserto se crea una nueva conxion.

La pregunta es la siguiente, si voy a hacer una aplicacion en red, hay algun problema de rendimiento en crear una o varias conexiones? o de igual manera el DataEnvironment crea una conexion para cada comando?

Y una segunda y ultima pregunta, He creado un Modulo de Clase parecido al DataEnvironment pero con codigo, Se crea una conexion, y luego se crean comandos a partir de esa conexion y se agregan a una coleccion Recordsets. Quiero hacer algo parecido, pero en un control de Usuario, para porder asignarlo como origen de datos en tiempo de diseño a cualquier control, pero tiene que ser visto en todo el proyecto y no solamente en el formulario donde lo pongo, seria como una cosa asi de control Publico o algo asi, como el DataEnvironment. Alguien sabe como lo puedo hacer?

Muchisimas gracias a todos.
Responder Con Cita
  #2 (permalink)  
Antiguo 14-04-2005, 19:31:16
Gran Participación en el Foro
 
Registrado: oct 2003
Posts: 192
HurryCrack Valoración +2
Predeterminado

Perdona pero no he entendido bien ...

Por cada registro que insertas creas una conexión ?????????????????

Espero que no sea esto por que entonces no sólo tendrás una grabe problema de rendimiento, tanto como que se quedaría colgado en cualquier equipo.

El ADO crea la conexión con la base de datos y ya está. Los demas objetos son los que leen, escriben ... sobre las tablas de la base de datos.

Estos objetos son lo Recordset y ejecutan sentencias SQL para lo que quieras hacer.

Por ejemplo:

Vsql = "SELECT " + Campos + " FROM " + NTabla0 + " INNER JOIN NTablaA ON " + NTabla0 + ".Campo1 = NTablaA.CampoA WHERE " + NTabla0 + ".Campo2='001'"

Espero que esto solucione un poco tus dudas.

En cuanto a la segunda pregunta no te puedo ayudar por el momento.

Un saludo
__________________
Libres nacemos, libres vivimos y libres moriremos.
Responder Con Cita
  #3 (permalink)  
Antiguo 15-04-2005, 03:54:33
Avatar de Anl
Anl Anl is offline
Gran Participación en el Foro
 
Registrado: feb 2005
Posts: 150
Anl Valoración +2
Predeterminado

Gracias por contestar, pero creo que no me he explicado bien.

Cuando pongo un ADO DATA CONTROL en un formulario, este solo me devuelve un recordset y hay veces en que necesito usar mas de uno, por ejemplo:
Tengo un formulario de ventas, donde necesito recordests de articulos almacenados, registros de clientes, registros de almacen de donde se descuenta la venta, etc etc... Hasta ahora lo que hacia era poner 3 ADODC en el formulario, uno con cada tabla y asi manipulaba los datos por separado, pero se me hace un poco lento en red y no se si esta bien lo que estoy haciendo. Hasta lo que se (creo que no se) es que cada ADODC que pongo en el formulario me crea una conexion nueva. Si alguin me puede explicar un poco mas se lo agradeceria muchisimo. saludos
Responder Con Cita
  #4 (permalink)  
Antiguo 15-04-2005, 07:15:43
Gran Participación en el Foro
 
Registrado: oct 2003
Posts: 440
MiguelS Valoración +2
Predeterminado

Creo que lo que dices es correcto y no encontre ninguna forma de asignar a un control ADO una coneccion ya abierta sino solamente el mismo connectionstring.
Por lo tanto conviene trabajar con el DE o declarar los recorset en codigo.
Responder Con Cita
  #5 (permalink)  
Antiguo 15-04-2005, 08:22:06
Gran Participación en el Foro
 
Registrado: feb 2005
Ubicación: valencia
Posts: 118
alfonsoestampida Valoración +2
Enviar un mensaje a través de AIM a alfonsoestampida Contactar con alfonsoestampida a través de MSN Contactar con alfonsoestampida a través de Yahoo
Predeterminado

angelescj crea ado's por codigo
osea que no pone el objeto en el formulario
llevo 2 dias esperando a que me conteste....pero no me ace caso :smt011
yo tambien quiero poder usar varios ado's :smt012

P.D.: :smt017
Responder Con Cita
  #6 (permalink)  
Antiguo 15-04-2005, 08:31:25
Gran Participación en el Foro
 
Registrado: oct 2003
Posts: 440
MiguelS Valoración +2
Predeterminado

Código:
Public dbUnits As New ADODB.Connection
Dim adoDistUnit As ADODB.Recordset
Dim adoLaborUnit As ADODB.Recordset
Dim adoAreaUnit As ADODB.Recordset

Private Sub Form_Load()
dbUnits.CursorLocation = adUseClient
dbUnits.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Units.mdb;"
Set adoDistUnit = New ADODB.Recordset
adoDistUnit.Open "Distance", dbUnits, , adLockOptimistic, adCmdTable
Set adoLaborUnit = New ADODB.Recordset
adoLaborUnit.Open "select * from Labor ORDER BY Unit", dbUnits, , adLockOptimistic

Set adoAreaUnit = New ADODB.Recordset
adoAreaUnit.Open "select * from Area ORDER BY Unit", dbFixedUnits, , adLockOptimistic
end Sub
Responder Con Cita
  #7 (permalink)  
Antiguo 15-04-2005, 15:01:06
Avatar de Anl
Anl Anl is offline
Gran Participación en el Foro
 
Registrado: feb 2005
Posts: 150
Anl Valoración +2
Predeterminado

Gracias a lo dos!!!, creo que me quedare con el DE y hare algunas cosas con codigo. Salu2

PD: En el codigo que pusistes cuando declaras el recordset (en mi opinion) te convendria para hacerlo mas simple declararlo como Dim Rs as New ADODB.Recordset y luego en el programa ya lo puedes utilizar sin tener que crearlo con Set Rs as New ADODB.Recordset. asi te ahorras unas lineas y cuando son varios recordsets, pues se ven las cosas un poco mas prolijas, pero es solo una opinion.
Responder Con Cita
  #8 (permalink)  
Antiguo 15-04-2005, 17:49:43
Moderador
 
Registrado: dic 2002
Ubicación: Oviedo - Asturias
Posts: 1.260
angelescj Valoración +2
Predeterminado

Hola alfonsoestampida, yo NO CREO ados por código, lo que hago es crear la conexión y los recordset, ADODB.Connection y ADODB.Recordset, por código, y de esta forma tenerlo controlado. Hay dos razones por las que todavía no te he contestado:
1ª Las preguntas se hacen en le foro. Yo no contesto privados.
2º No he tenido tiempo para hacerlo.

En cuanto pueda haré un pequeño esquema de como conectar y acceder a la bd por código.
__________________
Angeles
-------------------------------------
Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion
Responder Con Cita
  #9 (permalink)  
Antiguo 15-04-2005, 18:45:02
Gran Participación en el Foro
 
Registrado: feb 2005
Ubicación: valencia
Posts: 118
alfonsoestampida Valoración +2
Enviar un mensaje a través de AIM a alfonsoestampida Contactar con alfonsoestampida a través de MSN Contactar con alfonsoestampida a través de Yahoo
Predeterminado

Cita:
Empezado por angelescj
Hola alfonsoestampida, yo NO CREO ados por código, lo que hago es crear la conexión y los recordset, ADODB.Connection y ADODB.Recordset, por código, y de esta forma tenerlo controlado. Hay dos razones por las que todavía no te he contestado:
1ª Las preguntas se hacen en le foro. Yo no contesto privados.
2º No he tenido tiempo para hacerlo.

En cuanto pueda haré un pequeño esquema de como conectar y acceder a la bd por código.
parece que todo el mundo se a puesto en contra mia... :smt010 :smt010 :smt010
Responder Con Cita
  #10 (permalink)  
Antiguo 15-04-2005, 19:31:29
Avatar de J.M.Movilla
Administrador
 
Registrado: dic 2002
Ubicación: BURGOS - ESPAÑA
Posts: 5.490
J.M.Movilla Valoración +2
Predeterminado

Amigo alfonsoestampida:

Yo te respondo por alusiones implícitas... como puede deducirse de forma indudable.

No saques las cosas de quicio, por favor. Aquí nadie se pone en contra de nadie, y más concretamente nadie ha mostrado ningún signo de animadversión contra ti.

Ángeles te dice que ella no tiene la costumbre de contestar a los privados, y pienso que tiene toda la razón, porque si le damos vida a los privados se la quitamos al foro. Pero eso no es estar en contra tuya...

Yo te he contestado a un privado porque se trataba de unas manifestaciones tuyas que interpreté como privadas, aunque luego he comprobado que también las has hecho públicas en un post. Te aseguro que si este dato lo llego a saber antes, tampoco hubiera contestado a tu privado. En el mismo te explicaba que no podeis exigirnos que demos más de lo que damos, que son muchas, muchísimas horas las que dedicamos al foro, y a veces (hablo por mí) no tenemos ya muchos ánimos para seguir en pie...

Después de este rollo sólo me resta animarte a que te cuestiones qué puede haber para que solamente seas tú el que sospechas que estamos contra ti... Cambia el chip y mira las cosas por el lado positivo, y acepta que no es malo que de vez en cuando nos toque buscarnos el pan nuestro de cada día, sin esperar a que nos llueva del cielo cada mañana.

Gracias por tu comprensión.
__________________
José María Movilla Cuadrado
______________________
www.foro.vb-mundo.com
www.vb-mundo.com

Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado


Temas Similares
Tema Autor Foro Respuestas Último Mensaje
Rendimiento y BBDD sintesis Visual Basic 6.00 0 10-05-2007 19:08:44
Controlar Rendimiento de Servidor Sql Claudia sql 2000 1 20-03-2007 19:42:29
pregunta sobre rendimiento alfonsoestampida Visual Basic 6.00 1 03-05-2005 17:49:30
Como Diagnosticar Rendimiento de una PC Claudia Visual Basic 6.00 9 23-03-2005 16:10:23
rendimiento de consultas joja_2 Lenguaje SQL 1 17-09-2004 01:00:00


La franja horaria es GMT. Ahora son las 06:53:54.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design

Alojado en el servicio Premium de Masquewebs | Diseño mejorado por MasqueWebs

right