2015-02-23 139 views
0

我創建了Intranet項目,它連接AD檢索用戶的 數據爲圖像部門。我做了我的代碼,它運作良好,但我有很多次下面的錯誤 。錯誤SQL數據讀取器

enter image description here

string User = ConfigurationManager.AppSettings["User"]; 
      string Password = ConfigurationManager.AppSettings["Password"]; 
      var entry = new DirectoryEntry("LDAP://" + "xxxxx", User, Password); 

      DirectorySearcher searcher = new DirectorySearcher(entry); 
      searcher.SearchScope = SearchScope.Subtree; 
      string UserName = Page.User.Identity.Name; 
      searcher.Filter = string.Format(CultureInfo.InvariantCulture, "(sAMAccountName={0})", UserName.Split('\\')[1]); 
      SearchResult findUser = searcher.FindOne(); 
      if (findUser != null) 
      { 
       DirectoryEntry user = findUser.GetDirectoryEntry(); 
       //string loginuser = user.Properties["UserName"].Value.ToString(); 
       LoggedUser = user.Properties["displayName"].Value.ToString(); 
       Session.Add("LoggedUser", LoggedUser); 
       LoggedEmail = user.Properties["mail"].Value.ToString(); 
       Session.Add("LoggedEmail", LoggedEmail); 
       string Mobile = user.Properties["Mobile"] != null && user.Properties["Mobile"].Value != null ? user.Properties["Mobile"].Value.ToString() : null; 
       string Login = user.Properties["sAMAccountName"].Value.ToString(); 
       if (user.Properties["Department"].Value != null) 
        LoggedDepartement = user.Properties["Department"].Value.ToString(); 
       _userDept = user.Properties["Department"].Value != null ? user.Properties["Department"].Value.ToString() : ""; 
       ftier.AddLoggedUser(LoggedUser, LoggedDepartement, title, LoggedEmail, data, DateTime.Now, DateTime.Now, " nnnnn", true); 
+0

這是'checkUser()'的整個代碼嗎? – rikitikitik 2015-02-23 10:14:26

+0

@rikitikitik正好 – Myworld 2015-02-23 22:45:10

回答

0

當我在的問題,過去一個這樣做是在用戶對象的屬性不同尋常的人物造成這種錯誤。

一種方法是對你設置的每個變量進行錯誤檢查,以便代碼可以繼續工作,或者將所有數據導出到文本文件,並使用excel通過它並查找異常或奇怪的控制字符。

如果錯誤總是發生在某個人身上,那麼您可以查看該用戶的屬性並希望以這種方式找到問題。

我們的問題是在一些字段中使用中文簡體字符。

希望這可以幫助你追蹤你的問題。

Dorje