Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-05-2007
Paradiso Paradiso is offline
Miembro
 
Registrado: jun 2004
Posts: 68
Poder: 20
Paradiso Va por buen camino
Thumbs up Ayuda Urgente, Por favor. Tarda mucho en traer los datos.

Hola a todos.
Seriamente.
Delphi 7 + Interbase 6.5 + DbExpress + DevExpress.

esta es la tabla y su estructura:

CREATE GENERATOR GEN_TC_CLIENTE_ID;

CREATE TABLE TC_CLIENTE (
NRO AUTONUMERICO NOT NULL /* AUTONUMERICO = INTEGER */,
RAZON_SOCIAL NOMBRE_CORTO NOT NULL COLLATE ES_ES /* NOMBRE_CORTO = VARCHAR(50) */,
NOMBRE_COMERCIAL NOMBRE_CORTO COLLATE ES_ES /* NOMBRE_CORTO = VARCHAR(50) */,
CONDICION_IVA AUTONUMERICO NOT NULL /* AUTONUMERICO = INTEGER */,
CUIT CUIT NOT NULL /* CUIT = VARCHAR(13) */,
DIRECCION DOMICILIO NOT NULL /* DOMICILIO = VARCHAR(30) */,
PROVINCIA AUTONUMERICO /* AUTONUMERICO = INTEGER */,
LOCALIDAD AUTONUMERICO /* AUTONUMERICO = INTEGER */,
CODIGO_POSTAL CODIGO_POSTAL /* CODIGO_POSTAL = VARCHAR(20) */,
TELEFONO TELEFONO /* TELEFONO = VARCHAR(40) */,
FAX TELEFONO /* TELEFONO = VARCHAR(40) */,
MOVIL TELEFONO /* TELEFONO = VARCHAR(40) */,
NEXTEL TELEFONO /* TELEFONO = VARCHAR(40) */,
EMAIL EMAIL /* EMAIL = VARCHAR(100) */,
LISTA_PRECIO LISTA_PRECIO /* LISTA_PRECIO = INTEGER */,
ULTIMA_COMPRA FECHA_HORA /* FECHA_HORA = TIMESTAMP */,
ULTIMO_PAGO FECHA_HORA /* FECHA_HORA = TIMESTAMP */,
SALDO "PRECIO UNITARIO" DEFAULT 0 NOT NULL /* "PRECIO UNITARIO" = NUMERIC(15,4) */,
ACTIVO ACTIVO DEFAULT 0 NOT NULL /* ACTIVO = INTEGER */,
SALDO_I NUMERIC(15,2) DEFAULT 0.00 NOT NULL,
CONTACTO VARCHAR(50) CHARACTER SET WIN1251,
NOTA BLOB SUB_TYPE 1 SEGMENT SIZE 4096,
CONVENIO_MULTILATERAL VARCHAR(12) CHARACTER SET WIN1251,
CONDICION_VENTA INTEGER DEFAULT 0,
CATEGORIA_CLIENTE VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
GERENTE VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
JEFE_DE_COMPRA VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
JEFE_TECNICO VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
CATEGORIA_INSTALADOR VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
INSTALADOR_1 VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
INSTALADOR_2 VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
INSTALADOR_3 VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
INSTALADOR_4 VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
INSTALADOR_5 VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
EMPRESA_DE_SERVICIOS_1 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
EMPRESA_DE_SERVICIOS_2 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
EMPRESA_DE_SERVICIOS_3 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
CONTACTO_1 VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
CONTACTO_2 VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
CONTACTO_3 VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
CONTACTO_4 VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
CONTACTO_5 VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
MAIL_CONTACTO_1 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
MAIL_CONTACTO_2 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
MAIL_CONTACTO_3 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
MAIL_CONTACTO_4 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
MAIL_CONTACTO_5 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
TELEFONOS_INSTALADOR_1 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
TELEFONOS_INSTALADOR_2 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
TELEFONOS_INSTALADOR_3 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
TELEFONOS_INSTALADOR_4 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
TELEFONOS_INSTALADOR_5 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
NOTA_CONTACTOS BLOB SUB_TYPE 1 SEGMENT SIZE 4096,
TELEFONO_CONTACTO_1 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
TELEFONO_CONTACTO_2 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
TELEFONO_CONTACTO_3 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
TELEFONO_CONTACTO_4 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
TELEFONO_CONTACTO_5 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES
);




/******************************************************************************/
/**** Primary Keys ****/
/******************************************************************************/

ALTER TABLE TC_CLIENTE ADD CONSTRAINT PK_TC_CLIENTE PRIMARY KEY (NRO);


/******************************************************************************/
/**** Indices ****/
/******************************************************************************/

CREATE INDEX TC_CLIENTE_IDX1 ON TC_CLIENTE (RAZON_SOCIAL);
CREATE INDEX TC_CLIENTE_IDX2 ON TC_CLIENTE (NOMBRE_COMERCIAL);
CREATE INDEX TC_CLIENTE_IDX3 ON TC_CLIENTE (NRO, PROVINCIA, LOCALIDAD);


/******************************************************************************/
/**** Triggers ****/
/******************************************************************************/


SET TERM ^ ;


/******************************************************************************/
/**** Triggers for tables ****/
/******************************************************************************/



/* Trigger: TC_CLIENTE_BI */
CREATE TRIGGER TC_CLIENTE_BI FOR TC_CLIENTE
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW.NRO IS NULL) THEN
NEW.NRO = GEN_ID(GEN_TC_CLIENTE_ID,1);
END


===================================================

" Esta es la Consulta:"



SELECT C.NRO,
C.RAZON_SOCIAL,
C.NOMBRE_COMERCIAL,C.CUIT,
C.LISTA_PRECIO,
C.CONDICION_VENTA,
C.DIRECCION,
C.NOTA,
FP.DESCRIPCION AS FORMADEPAGO
FROM TC_CLIENTE C
JOIN TC_FORMA_PAGO FP ON FP.NRO = TC_CLIENTE.CONDICION_VENTA
WHERE ( (C.ACTIVO = 0) AND :OPCION = 0) OR
( C.ACTIVO = 0 AND C.CONDICION_IVA = :OPCION ) OR
( C.ACTIVO = 0 AND C.CONDICION_IVA > 1 AND :OPCION = 2)
ORDER BY C.NOMBRE_COMERCIAL ASC


Este es el Problema: la cantidad de registros es de 34.000 y en un Atlhon 3000+ con 1 gb de RAM, tarda muchisimo en abrir la misma. si lo hago desde IBExpert no tarda nada, pero desde mi aplicacion si.

uso para mostrar los datos una grilla DBGrid.
la cual he tocado para que optimice la vista considerando la cantidad de datos, pero ahun asi sigue tardando muchisimo.
en las maquinas donde va a correr la aplicacion tarda mas de 1 minuto en traer los datos.

Realmente no se que hacer. para solucionar este problema
saludos y gracias.
Responder Con Cita
  #2  
Antiguo 24-05-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Tengo una pregunta, cuando dices que abres la (base/tabla) con IBExpert, lo haces con el mismo query

Código SQL [-]
SELECT C.NRO,
       C.RAZON_SOCIAL,
       C.NOMBRE_COMERCIAL,C.CUIT,
       C.LISTA_PRECIO,
       C.CONDICION_VENTA,
       C.DIRECCION,
       C.NOTA,
       FP.DESCRIPCION AS FORMADEPAGO
FROM TC_CLIENTE C
JOIN TC_FORMA_PAGO FP ON FP.NRO = TC_CLIENTE.CONDICION_VENTA
WHERE ( (C.ACTIVO = 0) AND :OPCION = 0) OR
      ( C.ACTIVO = 0 AND  C.CONDICION_IVA = :OPCION   ) OR
      ( C.ACTIVO = 0 AND  C.CONDICION_IVA > 1 AND :OPCION = 2)
ORDER BY C.NOMBRE_COMERCIAL ASC

Solo una anotación adicional, has uso de las etiquetas para que el código sea mas legible.

Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney

Última edición por egostar fecha: 24-05-2007 a las 03:03:51.
Responder Con Cita
  #3  
Antiguo 24-05-2007
Paradiso Paradiso is offline
Miembro
 
Registrado: jun 2004
Posts: 68
Poder: 20
Paradiso Va por buen camino
Si, efectivamente.
Responder Con Cita
  #4  
Antiguo 24-05-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Pues entonces me suena a algún problema de conectividad con la base de datos porque la cantidad de registros no es considerable, con que componentes estas conectando a la base y como lo haces en el código

Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #5  
Antiguo 24-05-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.289
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Paradiso
Este es el Problema: la cantidad de registros es de 34.000
Realmente creo que ese es el problema.
Intentar devolver 34.000 registros en una consulta para mostrarlos en un DBGrid creo que es un fallo de concepo.

No tiene sentido que alguien acceda a un DBGrid con 34.000 filas. Nadie se pone a bajar con el cursor hasta encontrar la fila que necesita (imagina qie es la fila 18.345 del Grid ). Normalmente cuando se devuelve un Grid así el usuario que está delante de él intenta ordenarlo o filtrarlo para buscar lo que necesita. Ahí está la cuestión debes "acostumbrar" al usuario a que lo filtre o lo ordene antes de realizar la consulta para obtener un rango de registros más pequeño (y aun así yo pensaría en usar un TOP).

Aun así los tiempos me parecen demasiado.
* Ejecuta la misma consulta sin el Gris a ver lo que tarda, para descartar que sea problema de la carga.
* Revisa el tipo de cursor que estás utilizando ServerSide o ClientSide.
* Si la consulta tarda mucho revisa los índices y el plan de ejecución.
* Usa TOP; Yo no devolvería más de 1000 o 2000 registros.
* Piensa que los Grids de las DevExpress en su modo de funcionamiento estandard ("el bonito" que permite agrupar,ordenar, filtrar,...) traen todos los registros a memoria y los cargan en el Grid.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 24-05-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
No se ha dicho, pero se debe: Normaliza la Base de datos (google: "formas normales" o "normaliza tabla").

Instaladores, contactos, emails y telefonos de cada uno, todos en una tabla no hará otra cosa que estorbar y crear inconsistencias.

Tampoco veo un índice por el campo activo, que se usa mucho en el where.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 24-05-2007 a las 14:17:37.
Responder Con Cita
  #7  
Antiguo 24-05-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Yo pienso que si está filtrado los datos como se ve en su sentencia SQL

Código SQL [-]
JOIN TC_FORMA_PAGO FP ON FP.NRO = TC_CLIENTE.CONDICION_VENTA
WHERE ( (C.ACTIVO = 0) AND :OPCION = 0) OR
      ( C.ACTIVO = 0 AND  C.CONDICION_IVA = :OPCION   ) OR
      ( C.ACTIVO = 0 AND  C.CONDICION_IVA > 1 AND :OPCION = 2)
ORDER BY C.NOMBRE_COMERCIAL ASC
Me pregunto, los 34,000 registros cumplirán con esa condición.

La otra cuestión pudiera ser el JOIN.

En todo caso Lepe tiene razón al acotar sobre la normalización de la tabla.

Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #8  
Antiguo 24-05-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.289
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por egostar
Yo pienso que si está filtrado los datos como se ve en su sentencia SQL...
Yo me refería a los filtros en campos "de cara al usuario":
C.NRO,
C.RAZON_SOCIAL,
C.NOMBRE_COMERCIAL,C.CUIT,
C.LISTA_PRECIO,
C.CONDICION_VENTA,
C.DIRECCION,
C.NOTA,
FP.DESCRIPCION AS FORMADEPAGOSeguramente si el usuario está buscando algo, podrá acotar alguno de estos antes de ejecutar la SQL.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #9  
Antiguo 24-05-2007
Delfino Delfino is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 974
Poder: 21
Delfino Va por buen camino
Cita:
Delphi 7 + Interbase 6.5 + DbExpress + DevExpress.
en q utilizas los DevExpress si no es para el Grid?
sospecho q este puede ser el problema pq esos componentes suelen traer todos los datos de una vez, en el IBExpert se utiliza ese grid pero el modo GridMode esta para q sea virtual igual q el DBGrid de Delphi,

aparte de deber o no deber traer todos esos datos, IBDataset + DBGrid se abren al instante con una tabla de mas de 100.000 registros, incluso en red, pq el IBDataset trae solo los datos establecidos en la propiedad BufferChunks y el DBGrid trae del IBDataset solo los datos q necesita mostrar en la pantalla, asi q el problema esta en otro sitio no en la cantidad..
__________________
¿Microsoft? No, gracias..
Responder Con Cita
  #10  
Antiguo 30-05-2007
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile Paginación en segundo plano

¡Hola a todos!

Cita:
Empezado por Neftali
...Piensa que los Grids de las DevExpress en su modo de funcionamiento estandard ("el bonito" que permite agrupar,ordenar, filtrar,...) traen todos los registros a memoria y los cargan en el Grid.
Cita:
Empezado por Neftali
...el Grid de la DevExpress puede cambiar el modo de funcionamiento para no traer todos los datos; Basta con cambiar la porpiedad GridMode; El problema es que en ese modo de funcionamiento pierdes determinadas propiedades del Grid (ordenaciones, Agrupaciones, totales,...)
Cita:
Empezado por avmm2004
...Utilizas devexpress (el grid supongo) ¿ No sabes que el grid de devexpress carga todos los datos en memoria antes de mostrarte la primera fila ?
Pues una carga de 34.000 registros en el grid antes de mostrarte la primera fila es brutal...
Totalmente de acuerdo, pero sugiero utilicen el término rejilla (que es la traducción más formal y aceptada de grid).

Precisamente esas vicisitudes son las que me llevaron a buscar la paginación en segundo plano. Estoy por reanudar ese caso y aún no tengo clara la forma exacta en que lo resolveré, de hecho todavía considero la posibilidad de usar consultas TOP / FIRST o filtros Where. Os aconsejo sobremanera echarle un vistazo y les agradezco cualquier recomendación. Es prácticamene el mismo problema de Paradiso, pero visto desde una óptica optimista. ¿Podrá realizarse?

Un abrazo posible.

Al González.
Responder Con Cita
  #11  
Antiguo 30-05-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Bueno Al, yo creo que la respuesta estándar a este tipo de cuestiones ya la sabes: no mandar traer 34,000 registros. Aunque al cliente le parezca necesario, la verdad es que no necesita 34,000 registros y jamás los va a revisar todos. Sin embargo, no me lo tomes a mal, pero en ese hilo que mencionas, desde un principio cancelaste la respuesta estándar:

Cita:
Empezado por Al González
Aclaro que no me interesa discutir el asunto del consumo de recursos, las reglas de los cánones y todo lo que dice la literatura tradicional. He evaluado el costo-beneficio de cargar toda la tabla en memoria, y, para los propósitos específicos de la aplicación, veo que vale la pena (aún si tuviese el doble de registros).


// Saludos
Responder Con Cita
  #12  
Antiguo 30-05-2007
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile

No creas, ahorita que estaba en la ducha, me vinieron a la mente algunas reflexiones. Se me ha ocurrido traerme sólo los 100 registros con fecha de modificación, búsqueda o utilización más recientes. Y ya cuando el cliente quiera toda la tabla, digamos para exportarla a Excel, entonces darle otro mecanismo para esa operación que no interfiera con las operaciones cotidianas de la interfaz de usuario.

Creo que debo bañarme más seguido.

De todas maneras sigo receptivo a sus recomendaciones y descancelo la cancelación referida.

Un abrazo fresco.

Al González.

Edito:
P.D. Y es que lo de la paginación de segundo plano, quizá no sea un terreno que deba descartarse, por lo menos para experimentación. Lograrlo podría ofrecer nuevos horizontes en materia de interfaces de usuario. Algo así como manejar una base de datos "en vivo" (pero quizá en otro momento, tal experimento sería un proyecto en sí mismo).

Última edición por Al González fecha: 30-05-2007 a las 18:17:21.
Responder Con Cita
  #13  
Antiguo 30-05-2007
Avatar de xander
xander xander is offline
Miembro
 
Registrado: jul 2006
Posts: 499
Poder: 18
xander Va por buen camino
Cita:
Empezado por Al González
No creas, ahorita que estaba en la ducha, me vinieron a la mente algunas reflexiones. Se me ha ocurrido traerme sólo los 100 registros con fecha de modificación, búsqueda o utilización más recientes. Y ya cuando el cliente quiera toda la tabla, digamos para exportarla a Excel, entonces darle otro mecanismo para esa operación que no interfiera con las operaciones cotidianas de la interfaz de usuario.
Echate un clavado en los fuentes de IBObjects... ahi ya es chiste viejo todo eso que mencionas... precisamente es una de las cosas que lo hacen a mi parecer la mejor conectividad en Cliente/Servidor... optimiza muchisimo el tráfico en la red usando técnicas muy poderosas, flexibles y sencillas.
__________________
"Hey, nena, debe ser genial ser tú y verme a mí mismo..."
Responder Con Cita
  #14  
Antiguo 27-05-2007
avmm2004 avmm2004 is offline
Miembro
 
Registrado: jun 2006
Ubicación: Santa cruz de Tenerife, Islas Canarias
Posts: 500
Poder: 18
avmm2004 Va por buen camino
Cita:
Empezado por Paradiso
Hola a todos.
Seriamente.
Delphi 7 + Interbase 6.5 + DbExpress + DevExpress. ........
Independientemente de la consulta, no se si has tenido en cuenta lo siguiente:

- Utilizas devexpress (el grid supongo) ¿ No sabes que el grid de devexpress carga todos los datos en memoria antes de mostrarte la primera fila ?
Pues una carga de 34.000 registros en el grid antes de mostrarte la primera fila es brutal.

- Has pensado en la posibilidad de filtrar el numero de filas a devolver.???

- Has usado la propiedad disablecontrols para esa carga masiva en el datasource ??

- Has usado la propiedad beginupdate y endupdate del cxgrid ??
Responder Con Cita
Respuesta



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
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿Ayuda urgente por favor? yarielrs Windows 38 05-05-2007 00:50:49
Ayuda por favor es URGENTE Costeño_sam Conexión con bases de datos 3 25-01-2007 10:47:24
Ayuda urgente por favor JulioGO Varios 2 05-05-2006 17:21:24
Por que tarda mucho en abrir un EXE IcebergDelphi Varios 5 16-06-2004 11:05:28
ayuda urgente por favor haffo Varios 2 01-10-2003 03:00:40


La franja horaria es GMT +2. Ahora son las 21:13:09.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi