my code is like this

SPListItemCollection listItems = list.Items;

SPListItem item = listItems.Add();
item["Title"] = "HAHAHA";
item["YourName"] = "Jason";
item["Person"] = "Jason"; // the field type of
"Person" is "User and Group"
item.Update();

when the code goes to Update();
the exception is " Invalid data has been used to update the list
item. The field you are trying to update may be read only "

The web application is base on aspnetmembershipprovider. I also tried
like item["Person"] = "aspnetsqlmembershipprovider:jason "
But still got this exception....
Hope someone can help me...