Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-11-2003
Javier_A Javier_A is offline
Miembro
 
Registrado: oct 2003
Ubicación: Valencia
Posts: 93
Poder: 21
Javier_A Va por buen camino
Lentisima la conexion con DB2 del AS400

Estoy intentando acceder a las tablas del AS400, con las instruccion tipica' While Not EOF Do ', y tarda mas de 30 seg. en responder y con las instrucciones GotoKey y GotoNearest no lo he podido conseguir.
¿ Alguien conoce alguna manera mas rapida de acceso ?, y respecto al GotoKey y GotoNearest empleo la misma forma que uso con Paradox, ¿ por que no funciona ?.

Gracias
Responder Con Cita
  #2  
Antiguo 10-11-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Qué componentes utilizas (BDE u otros)? Que tipo de conexión (ODBC, acceso nativo,.....)?

Yo utilizo un acceso nativo (ClientObject 400) via los componentes del BDE y, el Table.Eof o FindKey o Locate o SetRange,....... los utilizo sin problemas
Responder Con Cita
  #3  
Antiguo 10-11-2003
Javier_A Javier_A is offline
Miembro
 
Registrado: oct 2003
Ubicación: Valencia
Posts: 93
Poder: 21
Javier_A Va por buen camino
Ante todo gracias por tu ayuda.

Ultilizo componentes BDE y la conexion ODBC, ( desconozco los accesos nativos ), y como te he comentado el Table.eof tarda muchisimo, el resto quizas sea de que no los empleo con la adecuada correccion, pues, las tablas a las que intento acceder tienen varios indices y yo solo busco a traves de uno de ellos; quizas este sea el motivo de que no aparecen el resultado adecuado.

Un saludo
Responder Con Cita
  #4  
Antiguo 10-11-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Pero que es lo que te tarda, la verificación de Eof o el recorrido por la tabla (el Next)?

Es decir

while not Tabla.Eof do

es esto lo que te tarda y por cada registro? sólo al final cuando realmente se cumple la condición?

o bien al hacer

Tabla.Next;

dentro del bucle?

También podrías mirar la capacidad del As400. Si está demasiado lleno (del 80%-85% en adelante), esto podría provocar lentitud en el sistema.
Responder Con Cita
  #5  
Antiguo 10-11-2003
Javier_A Javier_A is offline
Miembro
 
Registrado: oct 2003
Ubicación: Valencia
Posts: 93
Poder: 21
Javier_A Va por buen camino
Estas son las instrucciones, tardan en encontrar la informacion.


With Table2 DO
Begin
First;
While Not EOF Do
Begin
If Table2CODART.Value = Edit1.Text Then
Begin
Edit2.Text:=Table2CODART.Value;
Edit3.Text:=Table2DESART.Value;
end;
Next;

Y este grupo de instrucciones no me localizan el reg. adecuado, sale otro que no tiene nada que ver con lo que busco. ( La tabla tiene 2 indices y yo solo busco a traves de uno ).

Table2.Active:=True;
Table2.SetKey;
Table2.FieldByName('CODART').AsString:=copy(Edit1.text,1,length(Edit1.text));
Edit2.text:=Table2.FieldByName('CODART').AsString;
Table2.GotoKey;
end;

Perdona por las molestias, un saludo
Responder Con Cita
  #6  
Antiguo 10-11-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Con lo que respecta al bucle, parece todo correcto, prueba a mirar lo de la capacidad que te comentaba anteriormente

Lo del SetKey, prueba a cambiarlo por un FindKey (nunca he utilizado el SetKey, pero con FindKey no he tenido ningún problema)

Código:
Table2.Open;
Table2.FindKey([Edit1.text]);
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
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
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 10:27:32.


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