我在mysql数据库中有一个带有布尔列(或tinyint(1))的表。在我的Web应用程序中,我使用gridview查看该表中的数据,并使用了boolean列的复选框字段。一切都还可以,直到这里。当我尝试更新记录时,使用此查询检查或取消选中复选框字段以进行更新:
UPDATE image SET `desc` = @desc, `ss` = @ss WHERE `id` = @id
结果始终相同: desc 字段已正确更新,同时 ss (布尔字段)始终设置为0,即使我可能将其设置为1或者是真的。有什么想法怎么做?我粘贴下面的sqldatasource代码:
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:dogservConnectionString %>"
DeleteCommand="DELETE FROM image WHERE `id` = @id"
ProviderName="<%$ ConnectionStrings:dogservConnectionString.ProviderName %>"
SelectCommand="SELECT * FROM image"
UpdateCommand="UPDATE image SET `desc` = @desc, `ss` = @ss WHERE `id` = @id">
<DeleteParameters>
<asp:Parameter Name="id" Type="Int32" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="desc" Type="String" />
<asp:Parameter Name="path" Type="String" />
<asp:Parameter Name="name" Type="String" />
<asp:Parameter Name="ss" Type="Object" />
<asp:Parameter Name="id" Type="Int32" />
</UpdateParameters>
</asp:SqlDataSource>
答案 0 :(得分:0)
我无法帮助你使用asp.net,但这对我来说非常可疑 你告诉我们你的ss列是一个tinyint,所以类型应该像Int32或bool。