Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Delphi 1 AIUTOOOOOOOOO

    Devo fare una ricerca in tabella su due variabili diverse
    si puo' fare la Findkey???
    Es:
    Table1.FindKey([Campo1.Text], [Campo2.Text])

    se faccio
    with TableCom_Ici do
    begin
    SetKey;
    FieldByName('COD_CMN').AsString := CodiceComune;
    FieldByName('COD_TRI').AsString := CodiceTributo;
    GotoKey;
    end;

    Non mi funziona
    AIUTOOOOOOOOOO

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    La SetKey va usata in combinazione con GotoNearest.
    Per la GotoKey, usa il comando EditKey:
    codice:
    with TableCom_Ici do
    begin
      EditKey;
      FieldByName('COD_CMN').AsString := CodiceComune;
      FieldByName('COD_TRI').AsString := CodiceTributo;
      GotoKey;
    end;
    In alternativa, puoi usare il metodo Locate, definendo i campi di ricerca sul quale verranno costruiti gli indici in memoria (nel caso i campi selezionati non appartengano ad alcun indice).
    codice:
    TableCom_Ici.Locate(
     'COD_CMN, COD_TRI',
     VarArrayOf([CodiceComune, CodiceTributo]),
     []);
    Leggi la Guida in linea relativa al metodo per maggiori informazioni sul suo utilizzo e sul significato specifico dei parametri.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Però il metodo locate è un po' più lento rispetto all'altro: se decidi di utilizzarlo fallo solo su campi già indicizzati nel database, così la ricerca sarà molto più rapida, soprattutto se il database è grande.

  4. #4

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Il problema delle performance è dovuto alla presenza o meno di indici all'interno della struttura.

    Se gli indici esistono, la Locate li sfrutta senza doverli creare e risulta più rapida rispetto a EditKey ed SetKey.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.