SPList没有更新?

时间:2011-11-17 22:56:28

标签: c# sharepoint sharepoint-2007

我正在尝试为用户更新UserInformationList。它正在正确执行SPListItem.Update()但更新未反映在列表中。我不明白我在哪里做错了。我在这里附上我的代码。

private bool SyncingProcess(SqlDataReader d, SPList UserInfoList)
    {
        bool result =false;
        try
        {            //-->
            SPListItem UILUser = null;
            // Build a query.
            SPQuery query = new SPQuery();
            query.Query = string.Concat( "<Where><Eq>","<FieldRef Name='Name'/>",
                "<Value Type='Text'>" +(d.IsDBNull(accountIDPOS) == false
                     ? d.GetString(accountIDPOS)
                     : "information not found") + "</Value>",
                "</Eq></Where>");

            query.ViewFields = string.Concat("<FieldRef Name='FirstName' />","<FieldRef Name='LastName' />",
                "<FieldRef Name='Email' />","<FieldRef Name='FullName' />","<FieldRef Name='Title' />",
                "<FieldRef Name='JobTitle' />");

            SPListItemCollection userInfoListitems = UserInfoList.GetItems(query);
            if (userInfoListitems != null && userInfoListitems.Count > 0)
            {
                UILUser = userInfoListitems[0];
                SPUser user1 = UILUser.Web.EnsureUser("aspnetsqlmembershipprovider:" + d.GetString(accountIDPOS));                  
                if (UILUser != null)
                {  
                    UILUser["FirstName"] = (d.IsDBNull(FIRSTNAMEPOS) == false ? d.GetString(FIRSTNAMEPOS) : "");                           
                    UILUser["LastName"] = (d.IsDBNull(LASTNAMEPOS) == false ? d.GetString(LASTNAMEPOS) : "");
                    UILUser["Title"] = (d.IsDBNull(FULLNAMEPOS) == false ? d.GetString(FULLNAMEPOS) : "");
                    UILUser["EMail"] = (d.IsDBNull(EMAIL_ADDRESSPOS) == false? d.GetString(EMAIL_ADDRESSPOS): "");
                    UILUser["JobTitle"] = (d.IsDBNull(TITLEPOS) == false ? d.GetString(TITLEPOS) : "");
                    UILUser.Update();;
                    UserInfoList.Update();   
                }
                result =true;
            }
            else
            {
                tw.WriteLine("User not found in the " + UserInfoList.ParentWeb.Title.ToString() + " Site " +
                             (d.IsDBNull(FIRSTNAMEPOS) == false
                                  ? d.GetString(FIRSTNAMEPOS) + "; " + d.GetString(accountIDPOS)
                                  : "information not found"));
                tw.Flush();
            }

        }
        catch (Exception)
        {
            result =false;
        }
        return result;
    }
}

}

1 个答案:

答案 0 :(得分:0)

您可能想要致电UserInfoList.ParentWeb.Update()