What's messed up here is that i have close to identical code that is
working perfectly, only difference is that code uses sqldatasource
control instead objectdatasource used here.
Getting this error during the update:
Server Error. To return to your data and retry, use the BACK button
System.ArgumentException: Object of type 'System.Int16' cannot be
converted to type 'System.Boolean'. at
System.RuntimeType.CheckValue(Object value, Binder binder, CultureInfo
culture, BindingFlags invokeAttr) at System.Reflection.MethodBase
Column in table :
bit
formview control:
<asp:CheckBox ID="Active"
SkinID="retailer" runat="server" Checked='<%# Bind("Active") %>' />
vb class:
ByVal active As Boolean
.Parameters.Add("@Active", SqlDbType.Bit).Value = Active
Objectdatasource update parm:
<asp:Parameter Name="Active" Type="Int16" DefaultValue="1" />
The data displays perfect with the checkbox checked while in edit.
Thanks for any help or information.
Brandon Gano - 21 Jul 2007 17:58 GMT
The problem is that you can implicitly convert from bit to int16 when
displaying the data, but you cannot convert from int16 to bit when saving
the data.
Change your parameter as follows (not tested):
<asp:Parameter Name="Active" Type="Boolean" DefaultValue="true" />
> What's messed up here is that i have close to identical code that is
> working perfectly, only difference is that code uses sqldatasource
[quoted text clipped - 27 lines]
>
> Thanks for any help or information.
jobs - 21 Jul 2007 22:51 GMT
thank you. I got it working using double and float.