2010-07-14 8 views
0

J'ai ce problème avec le format du nouveau numéro d'employé, quand je recherche Active Directory par exemple avec "07789", il me renvoie un résultat. Mais si je retire le "0" et recherche "7789" il ne trouvera pas l'enregistrement pense 07789 et 7789 sont différents. Mais dans la base de données, le champ numéro d'employé est un nombre entier, donc il traite toujours 07789 comme 7789 et l'enregistre dans la base de données. Y a-t-il une façon plus intelligente de gérer ce problème plutôt que de modifier le type de données de la colonne et de gérer les numéros d'employé en tant que chaînes?Validation du numéro d'employé du répertoire actif

+0

Comment vous connectez-vous à Active Directory pour le rechercher? Via LDAP? –

Répondre

1

Les numéros sont-ils toujours de la même longueur? Vous pourriez faire quelque chose comme ceci:

NumberFormat numberFormat = NumberFormat.getInstance(); 
numberFormat.setMinimumIntegerDigits(5); 
numberFormat.setMaximumIntegerDigits(5); 
numberFormat.setGroupingUsed(false); 
String numberString = numberFormat.format((long) 7789); 

System.out.println(numberString); //"07789" 
+0

remercie dbyrne pour la réponse. Eh bien, les chiffres ne sont pas toujours de la même longueur. – SPD

Questions connexes