使用带有复选框列的gridview更新Mysql记录

时间:2012-02-24 21:59:11

标签: c# asp.net mysql database gridview

我在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>

1 个答案:

答案 0 :(得分:0)

我无法帮助你使用asp.net,但这对我来说非常可疑 你告诉我们你的ss列是一个tinyint,所以类型应该像Int32或bool。