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

    [Delphi] Database: campi indicizzati

    Buongiorno a tutti:
    ho un problema con una funzione che mi ero costruito per eliminare un generico di una generica tabella.
    Il problema sta nel fatto che non so gestire il caso in cui il campo sia indicizzato e\o una chiave primaria e\o parte di essa.
    lavoro in ADO
    ho trovato che le due seguenti righe di codice eliminano i campi in questione

    DROP INDEX nomeindice ON nometabella
    DROP INDEX nomechiave ON nometabella

    Il problema è che nomeindice e nomechiave non so come conoscerli nel caso generale in cui il database non l'abbia creato io. Quindi la questione è sia come capire se un campo sia indicizzato o meno, sia capire come risalire al suo nome e quindi eliminarlo, una volta individuato.

    Inoltre nel terzo caso, in cui cioè ho un campo da cancellare che fa parte di una chiave primaria, come vengono identificati i vari campi che la compongono in modo da risalire a quello che mi interessa?

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Non credo che ADO sia in grado di restituirti tutte le proprietà che chiedi con facilità.

    Tuttavia, potresti ad esempio ispezionare la proprietà IndexDefs del componente DataSet (ADOTable, ADOQuery, ...) che usi per accedere alla tabella interessata: tale proprietà contiene la definizione degli indici della tabella; ciascuno degli elementi rappresenta un indice della tabella ed è in grado di restituirti varie informazioni, tra cui anche il nome dei campi utilizzati.

    Consulta la Guida in linea di Delphi in merito a quella proprietà per ottenere maggiori informazioni.

    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.