Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1308 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Erreur sous C# [Autre soucis]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Erreur sous C# [Autre soucis]

n°1509924
rabzouze
Posté le 02-02-2007 à 10:04:15  profilanswer
 

Bonjour,
 
je dois créer un programme qui permet de mettre a jour les utilisateurs cependant lorsque je teste une partie de mon prgramme je tombe sur un message d'erreur de type
 

Code :
  1. An unhandled exception of type 'System.NullReferenceException' occurred in integrationusersldap.dll
  2. Additional information: Object reference not set to an instance of an object.


je n'aarive pa a trouver l'erreur
 
 
Mon code

Code :
  1. public string[] ListAllUsersFromCriteria ()
  2.  {
  3.   if (m_entryForAdministration == null)
  4.   {
  5.    //Error = "No connection for administration";//JROOK
  6.    Error = Dg.Std.Translations.GetTranslationDft(null, Dg.Std.Translations.DGSTD_XMLFILENAME, 90, "No administration connection has been opened" );
  7.    return null; // no connection for admin
  8.   }
  9.   DirectorySearcher deSearch = new DirectorySearcher();
  10.   deSearch.SearchRoot = m_entryForAdministration;
  11.   deSearch.Filter = "(&(objectClass=user)(objectCategory=person))";
  12.   deSearch.SearchScope = SearchScope.Subtree;
  13.   SearchResultCollection  results = deSearch.FindAll();
  14.   string[] arResult = new string[results.Count];
  15.   if(results.Count>0)
  16.   {
  17.    int i = 0;
  18.    foreach(SearchResult result in results)
  19.    {
  20.     arResult[i]= result.Properties["SAMAccountName"][0].ToString();
  21.     DirectorySearcher DirSearch = new DirectorySearcher();
  22.     DirSearch.SearchRoot = m_entryForAdministration;
  23.     DirSearch.SearchScope = SearchScope.Subtree;
  24.     DirSearch.Filter = "(&(objectClass=user)(objectCategory=person)(SAMAccountName="+ arResult[i] +" ))";
  25.     SearchResult res = DirSearch.FindOne();
  26.     DirectoryEntry DirEntry = new DirectoryEntry();
  27.     DirEntry = res.GetDirectoryEntry();
  28.     ShowInfoMessageBox("cn: " + DirEntry.Properties["cn"].Value.ToString() + "   SAMA: " +DirEntry.Properties["SAMAccountName"].Value.ToString() + "   Mail: " +DirEntry.Properties["mail"].Value.ToString());
  29.     i++;
  30.    }
  31.   }
  32.   deSearch.Dispose();
  33.   return arResult;
  34.  }


Message édité par rabzouze le 02-02-2007 à 10:52:07
mood
Publicité
Posté le 02-02-2007 à 10:04:15  profilanswer
 

n°1509938
_darkalt3_
Proctopathe
Posté le 02-02-2007 à 10:28:43  profilanswer
 

debugger ?


---------------
Töp of the plöp
n°1509941
rabzouze
Posté le 02-02-2007 à 10:30:27  profilanswer
 

deja fait mais jai trouve mon erreur. le probleme est que la valeur de mail n'est pas renseigné pr ts les users.
Il faut ke j'eefectue un test pr savoir si c null ou non

n°1509944
_darkalt3_
Proctopathe
Posté le 02-02-2007 à 10:33:32  profilanswer
 

(donc édite ton premier message en rajoutant quelque chose du genre "[résolu]" dans le titre de ton topic stp)


---------------
Töp of the plöp
n°1509962
rabzouze
Posté le 02-02-2007 à 10:47:41  profilanswer
 

excuse moi javai pa vu

n°1509964
rabzouze
Posté le 02-02-2007 à 10:51:44  profilanswer
 

_darkalt3_ a écrit :

(donc édite ton premier message en rajoutant quelque chose du genre "[résolu]" dans le titre de ton topic stp)


 
J'ai une autre question que je n'arrive pas à resoudre.
 
Voila mon nouveaux codes

Code :
  1. public User[] ListAllUsersFromCriteria ()
  2.  {
  3.   if (m_entryForAdministration == null)
  4.   {
  5.    //Error = "No connection for administration";//JROOK
  6.    Error = Dg.Std.Translations.GetTranslationDft(null, Dg.Std.Translations.DGSTD_XMLFILENAME, 90, "No administration connection has been opened" );
  7.    return null; // no connection for admin
  8.   }
  9.   DirectorySearcher deSearch = new DirectorySearcher();
  10.   deSearch.SearchRoot = m_entryForAdministration;
  11.   deSearch.Filter = "(&(objectClass=user)(objectCategory=person))";
  12.   deSearch.SearchScope = SearchScope.Subtree;
  13.   SearchResultCollection  results = deSearch.FindAll();
  14.   //string[] arResult = new string[results.Count];
  15.   User[] u = new User[results.Count];
  16.   if(results.Count>0)
  17.   {
  18.    int i = 0;
  19.    foreach(SearchResult result in results)
  20.    {
  21.    // arResult[i]= result.Properties["SAMAccountName"][0].ToString();
  22.     DirectorySearcher DirSearch = new DirectorySearcher();
  23.     DirSearch.SearchRoot = m_entryForAdministration;
  24.     DirSearch.SearchScope = SearchScope.Subtree;
  25.     DirSearch.Filter = "(&(objectClass=user)(objectCategory=person)(SAMAccountName="+ result.Properties["SAMAccountName"][0].ToString() + " ))";
  26.    // DirSearch.Filter = "(&(objectClass=user)(objectCategory=person)(SAMAccountName="+ arResult[i] +" ))";
  27.     SearchResult res = DirSearch.FindOne();
  28.     DirectoryEntry DirEntry = new DirectoryEntry();
  29.     DirEntry = res.GetDirectoryEntry();
  30.     string valMail;
  31.     if (DirEntry.Properties["mail"].Value ==null)
  32.      valMail = "";
  33.     else
  34.      valMail = DirEntry.Properties["mail"].Value.ToString();
  35.     u[i] = new User(DirEntry.Properties["cn"].Value.ToString(),DirEntry.Properties["SAMAccountName"].Value.ToString(),valMail);
  36.     ShowInfoMessageBox("cn: " + u[i].getCN() + "   SAMA: " +u[i].getSAMA() + "   Mail: " +u[i].getMail() );
  37.     i++;
  38.    }
  39.   }
  40.   deSearch.Dispose();
  41.   return u;
  42.  }


J'insere le tout dan une classe user afin de bien protégé les élements.
Je souhaiterais les joutais dan un listBox en cliquant sur un bouton voila ce ke je fait.

Code :
  1. private void btListUsers_Click(object sender, System.EventArgs e)
  2.  {
  3.   if (!CheckConnection())
  4.    return;
  5.   if (currentLDAP == null)
  6.    return;
  7.   lstbLists.Items.Clear();
  8.   User[] users = currentLDAP.ListAllUsersFromCriteria();
  9.   //currentLDAP.ListUser();
  10.   if (users != null)
  11.   {
  12.     lstbLists.Items.AddRange(users);
  13.   }
  14.   else
  15.    ShowErrorMessageBox("Error : " + currentLDAP.Error);
  16.  }


Le problem c'est qu'il ne m'affiche pas les valeurs.
Pourrais tu m'aider

n°1509966
_darkalt3_
Proctopathe
Posté le 02-02-2007 à 10:56:23  profilanswer
 

Regarde la doc de listbox, et vois le type de ce que tu peux ajouter dedans.


---------------
Töp of the plöp
n°1509977
rabzouze
Posté le 02-02-2007 à 11:15:49  profilanswer
 

_darkalt3_ a écrit :

Regarde la doc de listbox, et vois le type de ce que tu peux ajouter dedans.


je vai y jeté un oeil j'espertrouver

n°1509992
_darkalt3_
Proctopathe
Posté le 02-02-2007 à 11:34:30  profilanswer
 

Jette un oeil sur le bescherelle aussi, tant qu'à faire.


---------------
Töp of the plöp
n°1509994
rabzouze
Posté le 02-02-2007 à 11:35:38  profilanswer
 

_darkalt3_ a écrit :

Jette un oeil sur le bescherelle aussi, tant qu'à faire.


c pas gentil

mood
Publicité
Posté le 02-02-2007 à 11:35:38  profilanswer
 

n°1509995
_darkalt3_
Proctopathe
Posté le 02-02-2007 à 11:41:33  profilanswer
 


C'est juste vrai, et c'est pour t'aider.


---------------
Töp of the plöp
n°1510000
rabzouze
Posté le 02-02-2007 à 11:57:05  profilanswer
 

j'ecris vite pr pouvoir avancer vite lol
Ce n'est pas grave merci tout de même


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Erreur sous C# [Autre soucis]

 

Sujets relatifs
ou est mon erreur ?!Récupérer précisemment une erreur ODBC
XSL - Obtenir la ligne d'erreur d'encodageHelp !! Erreur de syntaxe sur macro Catia V5R16
[Oracle 10.2] Erreur dans fonction stocké PL/SQLPERL encodage gros soucis
Fonction Mail (erreur...)[OK] Erreur Oracle Lien de base de données
erreur de commande call sous windows 98Cannot send session cache limiter (erreur php help)
Plus de sujets relatifs à : Erreur sous C# [Autre soucis]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR