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 Temas de Hoy

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



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 22:14:11.


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