2012-02-24 71 views
0

我有一个表在mysql数据库与布尔列(或tinyint(1))。在我的web应用程序中,我使用了一个gridview来查看该表中的数据,并使用了布尔列的复选框字段。一切都很好,直到这里。当我尝试更新的记录,检查或使用该查询更新取消选中复选框字段:使用gridview复选框列更新Mysql记录

UPDATE image SET `desc` = @desc, `ss` = @ss WHERE `id` = @id 

结果总是一样的:递减场正​​确与此同时,SS(布尔更新字段)始终设置为0,即使我可能将其设置为1或true。任何想法如何做到这一点?我下面粘贴在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

请告诉我们调用此更新的代码 – Steve 2012-02-24 22:11:26

+0

我使用了sqldatasource,并在wizzard设置中设置了更新查询。所以我使用gridview的编辑属性来编辑我的记录 – Advicer 2012-02-24 22:21:30

+0

我不能帮你用asp.net,但是''对我来说看起来非常可疑。类型应该是像Int32或布尔 – Steve 2012-02-24 22:29:19

回答

0

我不能帮你asp.net,但是这看起来很可疑我。
你告诉我们你的ss列是tinyint,所以type应该是类似Int32或bool的东西。