Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #14  
Antiguo 15-11-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Cuando le das doble clic a un TTable, aparece la ventana editor de campos, botón derecho y Add All Fields.

A eso se le llama campos persistentes porque en tu Form aparece:
Código Delphi [-]

Type TForm1 = Class(TForm)

  query1NombreCliente :TStringField;
Al crear la ventana, se crea ese campo como si se tratara de un panel, un edit, etc.

Al usar FieldbyName esto es lo que ocurre:
Código Delphi [-]
function TFields.FieldByName(const FieldName: WideString): TField;
begin
  Result := FindField(FieldName);
  if Result = nil then DatabaseErrorFmt(SFieldNotFound, [FieldName], DataSet);
end;

Y aquí está la madre del borrego:

function TFields.FindField(const FieldName: WideString): TField;
var
  I: Integer;
begin
  for I := 0 to FList.Count - 1 do  Un bucle por todos los campos que tiene la tabla
  begin
    Result := FList.Items[i];
    if WideCompareText(Result.FFieldName, FieldName) = 0 then Exit;
  end;
  Result := nil;
end;
Si tu tabla tiene 10 campos, al usar FieldByName:
- En el mejor de los casos, lo encuentras al primer intento de ese bucle.
- En el peor de los casos, tendrás que dar 10 vueltas en ese bucle For

Al usar campos persistentes, tienes ese campo como si fuera un panel o un Edit, no hay que realizar bucle alguno.

En el caso que nos ocupa, nosotros tenemos otro bucle más:
while not frmfactura.MDtemporal.Eof do

si tenemos 20 registros en la tabla, 10 campos, usamos 2 veces fieldbyname dentro de nuestro bucle:
-En el peor de los casos, 390 ciclos
-En el mejor de los casos: 60 ciclos

Usando campos persistentes: 20 ciclos

No hay que meterse en paranoias , pero si tenemos los campos persistentes, es preferible usarlos .

Petolansa: Si no entiendes algo de ese código usa la tecla F1, es la única forma de aprender, si aún así tienes dudas, avisa.


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



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
Articulo similar al de Paradox en red, pero para Access Wonni Conexión con bases de datos 0 17-05-2007 14:51:03
Codificar para el cambio: Mi primer articulo en BDN!!! mamcx Noticias 11 22-09-2006 01:37:20
Articulo -> Ventas - Borrar Articulo hmoner Conexión con bases de datos 7 14-10-2005 18:24:54
Artículo de Paradox en red Mariana Conexión con bases de datos 4 22-12-2004 04:23:27
Duda para crear índice de artículo Tio Firebird e Interbase 2 10-06-2003 01:00:14


La franja horaria es GMT +2. Ahora son las 23:34:48.


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