Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    137

    [Delphi 5] Secondary Index

    Ciao,

    come faccio a creare un indice secondario, di tipo unique, su una tabella paradox durante l'esecuzione del programma?
    Ho già provato con una query ma non mi prende la clausola unique:
    codice:
    Create unique Index prog_index On Matricole (Articolo, MatrProgr)
    di conseguenza l'ho realizzata senza quella clausola.
    Però ho bisogno che l'indice lo sia: come posso fare?
    sull'help trovo il modo di crearlo durante la creazione della tabella e non su una tabella già fatta.
    è possibile o devo farlo a mano via database desktop?

    Grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    137
    Ho trovato un modo con AddIndex ma mi dà un errore:
    "Higher table level required"
    cos'è?
    come lo risolvo?

    Grazie.

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301

    Re: [Delphi 5] Secondary Index

    Originariamente inviato da zephyr
    è possibile o devo farlo a mano via database desktop?
    Dato che Database Desktop ti fornisce un'interfaccia - anche se obsoleta - per aggiungere indici secondari, perchè non usare quella?

    Usare il BDE al giorno d'oggi è alquanto pericoloso, poichè si tratta di una piattaforma obsoleta e deprecata da tempo.

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

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

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    137
    Hai ragione sul BDE e me ne sto accorgendo a mie spese ...
    io infatti sarei per fare tutto con Firebird/SQL Server ma quando ti trovi a dover modificare dei progetti già fatti ti devi adattare.
    Cmq sia: mi hanno detto di creare un indice a run-time e per farlo ho appunto provato ad usare la AddIndex che mi restituisce quell'errore già citato. Cercando in internet ho trovato un'utility che mi permette di passare la tabella ad un livello in grado di farmi usare la AddIndex però, infatti c'è un però, se creo l'indice unique mi dà "Key violation" che non mi dà se lo creo case insensitive.
    come posso procedere?


  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Originariamente inviato da zephyr
    Hai ragione sul BDE e me ne sto accorgendo a mie spese ...
    io infatti sarei per fare tutto con Firebird/SQL Server ma quando ti trovi a dover modificare dei progetti già fatti ti devi adattare.
    Capisco, però si può facilmente progettare un "porting" al nuovo formato senza un impatto eccessivo sull'applicazione.

    Originariamente inviato da zephyr
    se creo l'indice unique mi dà "Key violation" che non mi dà se lo creo case insensitive.
    come posso procedere?
    Il problema è dato dal fatto che se crei un indice univoco per quel campo, esso non può contenere valori duplicati; ciò che puoi fare è rimuovere i valori duplicati, oppure evitare di renderlo univoco. Per questioni ovvie di integrità, non è possibile adottare una soluzione intermedia in quanto non può esistere un indice univoco per un campo che non lo è.

    Ciao!
    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 © 2024 vBulletin Solutions, Inc. All rights reserved.