Update Sharepoint List Item

asp.net, c#, sharepoint, wss

Solution

If you're trying to alter values for a just inserted list item, you should go with:

SPList list = web.Lists["ListName"];
//SPListItem item = list.Items.Add();
//item["PercentComplete"] = .45; // 45%
//item.Update();

SPListItemCollection items = list.GetItems(new SPQuery()
{
    Query = @"<Where>
                <Eq>
                   <FieldRef Name='Title' />
                   <Value Type='Text'>Desigining</Value>
                </Eq>
              </Where>"
});

foreach (SPListItem item in items)
{
    item["PercentComplete"] = .45; // 45%
    item.Update();
}

You just need to use `list.Items[uniqueId]` or faster `list.GetItemByUniqueId(uniqueId)` if you needs to find a particular item to update; what can be accomplished by using `SPQuery` class.

Problem

I got following error... System.NullReferenceException: Object reference not set to an instance of an object. at Microsoft.SharePoint.SPListItem.get_UniqueId() at ConsoleApplication1.Program.Main(String[] args) in Program.cs:line 21 running following code ``` using (SPSite site = new SPSite("http://site/")) { using (SPWeb web = site.OpenWeb()) { try { SPList list = web.Lists["ListName"]; // 2 SPListItem item = list.Items.Add(); Guid itemId = item.UniqueId; SPListItem itemUpdate = web.Lists["ListName"].Items[itemId]; itemUpdate["PercentComplete"] = .45; // 45% itemUpdate.Update(); } catch (Exception e) { Console.WriteLine(e); Console.ReadLine(); } } } ``` What's the problem?

Original source

Related problems