checkbox ? boolean, bit and int16 - datasource controls?

J

jobs

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.
 
B

Brandon Gano

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" />
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,992
Messages
2,570,220
Members
46,807
Latest member
ryef

Latest Threads

Top