je cherche l'équivalent de la fonction findkey delphi 2007 en delphi 2010.
je cherche l'équivalent de la fonction findkey delphi 2007 en delphi 2010.
bonjour,
personnellement j'ai jamais utilisé cette fonction, par contre je te propose d'utilisé la fonction locate.
est-ce que la fonction Locate peut m'aider à vérifier le dédoublement de clé ?
Bonjour,
pour obtenir une bonne réponse sur le Findkey (comme sur le Locate) , il aurait déjà fallu indiquer quels composants de connexion vous utilisiez.
en fait "TTable.Findkey" existe en D2010
si par Findkey vous entendiez : vérifier s'il y a des clés en double (ce qui voudrait dire que vous n'avez pas indiqué de contraintes d'unicité !)
un SQL est parfois plus simple ,quelque chose comme ceci
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT CLE,COUNT(CLE) FROM TABLE GROUP BY CLE HAVING COUNT(CLE)>1
Salut
FindKey est une méthode de recherche s'appuyant sur l'index courant, c'est surtout utile pour les bases de type Paradox (navigationnelles), pour un vrai serveur SQL, son emploi n'est, si je me souviens bien, pas vraiment pertinent.
Comme SergioMaster le dit, il serait bon de savoir sur quel type de base l'appliquer.
@+
![]()
M E N S . A G I T A T . M O L E M
Debian 64bit, Lazarus + FPC -> n'oubliez pas de consulter les FAQ Delphi et Pascal ainsi que les cours et tutoriels Delphi et Pascal
"La théorie, c'est quand on sait tout, mais que rien ne marche. La pratique, c'est quand tout marche, mais qu'on ne sait pas pourquoi. En informatique, la théorie et la pratique sont réunies: rien ne marche et on ne sait pas pourquoi!".
Mais Emmanuel Kant disait aussi : "La théorie sans la pratique est inutile, la pratique sans la théorie est aveugle."
salut, j'utilise une base de données access ou bien sql server , donc je travaille avec adotable
Eh bien FindKey !!! cela existe toujours même en XE5
Bde.DBTables.TTable.FindKey
Datasnap.DBClient.TCustomClientDataSet.FindKey
FireDAC.Comp.DataSet.TFDDataSet.FindKey
Une question bien mal posé qui aurait du être
le Locate fera parfaitement l'affaire
Sinon pour SQL Server, évite des TADOTable au profit de TADOQuery aussi bien pour les SELECT que les INSERT ou UPDATE, il est toujours mieux de maitriser le SQL qui circule !
Si tes tables sont correctement défini dans SQL Server avec les contraintes nécessaire et si par chance ton ADO récupère correctement les méta-données,
il devrait contenir dans TADOTable.IndexDefs un ixPrimary ou ixUnique
dans TIndexDef.Options
Ce qui devrait interdire le post, une exception (voir aussi OnPostError)
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !![]()
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
Partager