2009-10-30 4 views

Répondre

3

Vous pouvez parcourir la liste des colonnes du datawindow et vérifier la propriété clé en utilisant décrire ou notation par points:

<DW Control Name>.Describe("<Columnname>.Key") 
or 
<DW Control Name>.Object.<Columnname>.Key 

Cela vous permet de savoir si la colonne est inclus dans la liste en surbrillance vous voyez dans l'datawindow peintre sous l'élément de menu Rows-> Mise à jour Propriétés-> Colonnes clés uniques (s):

Voici les documents sur cette propriété:

http://infocenter.sybase.com/help/topic/com.sybase.dc37783_1150/html/dwref/CAIBHFGF.htm

1

Il ne semble pas y avoir une seule propriété que vous pouvez saisir via la notation par points ou la fonction de description qui isole la clé primaire, au moins je n'en ai pas vu. Je pourrais me tromper totalement ici et il y a une meilleure façon de le faire.

Mais je pense que si vous essayez de le faire dans Powerscript, vous devrez analyser les colonnes dans la fenêtre de données et vérifier la propriété "columnname.key" pour déterminer les colonnes dans la clé.

Je suppose que cela dépend également du fait que vous avez défini les colonnes de clé primaire dans les propriétés de mise à jour de DataWindow; ils ne sont généralement pas définis par le développeur pour les fenêtres de données en lecture seule.

Si quelqu'un a un meilleur moyen, s'il vous plaît poster.

0

Qu'y a-t-il à propos de vos objets ou code qui vous obligerait à savoir quelle est la clé primaire d'une table? J'utilise Powerbuilder depuis la version 2.0 et je ne peux jamais me souvenir d'une situation où je devrais savoir.