One of the problems i faced, when i try to update a record with a "ueidentifier" field. using SqlDataSource.. it was giving me the following error:
Object must implement IConvertible.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.InvalidCastException: Object must implement IConvertible.
Solution
The crux of the problem, it appears, is that the <asp:Parameter> value for the uniqueidentifier field is, by default, set to Type="Object". To fix this, simply remove the Type property altogether. That is, change the SqlDataSource parameter setting from something like:
<asp:SqlDataSource ...>
<InsertParameters>
<asp:Parameter Name="UserId" Type="Object" />
...
</InsertParameters>
</asp:SqlDataSource>
to:
<asp:SqlDataSource ...>
<InsertParameters>
<asp:Parameter Name="UserId" />
...
</InsertParameters>
</asp:SqlDataSource>