首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

gridiew更新如何会把所有记录条的字段全部更新成一样的了

2012-01-19 
gridiew更新怎么会把所有记录条的字段全部更新成一样的了?asp:TemplateFieldHeaderText 名称 SortExpr

gridiew更新怎么会把所有记录条的字段全部更新成一样的了?
<asp:TemplateField   HeaderText= "名称 "   SortExpression= "Name ">
                                        <EditItemTemplate>
                                                <asp:TextBox   ID= "TextBox1 "   runat= "server "   Text= ' <%#   Bind( "Name ")   %> '> </asp:TextBox>
                                        </EditItemTemplate>
                                        <ItemTemplate>
                                                <asp:Label   ID= "Label4 "   runat= "server "   Text= ' <%#   Bind( "Name ")   %> '> </asp:Label>
                                        </ItemTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField   HeaderText= "添加时间 "   SortExpression= "AddTime ">
                                        <EditItemTemplate>
                                                <asp:TextBox   ID= "TextBox2 "   runat= "server "   Text= ' <%#   Bind( "AddTime ")   %> '> </asp:TextBox>
                                        </EditItemTemplate>
                                        <ItemTemplate>
                                                <asp:Label   ID= "Label5 "   runat= "server "   Text= ' <%#   Bind( "AddTime ")   %> '> </asp:Label>
                                        </ItemTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField   HeaderText= "是否隐藏 "   SortExpression= "IsShow ">
                                        <EditItemTemplate>


                                                  <asp:CheckBox   ID= "CheckBox1 "   runat= "server "   Checked= ' <%#   Bind( "IsShow ")   %> '   />
                                      </EditItemTemplate>
                                        <ItemTemplate>
                                                    <asp:CheckBox   ID= "CheckBox1 "   runat= "server "   Checked= ' <%#   Bind( "IsShow ")   %> '   Enabled= "false "   />
                                        </ItemTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField   ShowHeader= "False ">
                                        <EditItemTemplate>
                                                <asp:LinkButton   ID= "LinkButton1 "   runat= "server "   CausesValidation= "True "   CommandName= "Update "
                                                        Text= "更新 "> </asp:LinkButton>
                                                <asp:LinkButton   ID= "LinkButton2 "   runat= "server "   CausesValidation= "False "   CommandName= "Cancel "
                                                        Text= "取消 "> </asp:LinkButton>
                                        </EditItemTemplate>
                                        <ItemTemplate>
                                                <asp:LinkButton   ID= "LinkButton1 "   runat= "server "   CausesValidation= "False "   CommandName= "Edit "
                                                        Text= "编辑 "> </asp:LinkButton>


                                                <asp:LinkButton   ID= "LinkButton2 "   runat= "server "   CausesValidation= "False "   CommandName= "Select "
                                                        Text= "选择 "> </asp:LinkButton>
                                                <asp:LinkButton   ID= "LinkButton3 "   runat= "server "   CausesValidation= "False "   CommandName= "Delete "
                                                        Text= "删除 "> </asp:LinkButton>
                                        </ItemTemplate>
------------------------——————      
          <asp:ObjectDataSource   ID= "ObjectDataSource1 "   runat= "server "   UpdateMethod= "UpdateSimpleData ">

                        <UpdateParameters>
                                <asp:Parameter   Name= "Name "   Type= "String "   />
                                <asp:Parameter   Name= "AddTime "   Type= "DateTime "   />
                                <asp:Parameter   Name= "IsShow "   Type= "Boolean "   />
                        </UpdateParameters>
                </asp:ObjectDataSource>

——————————————————————————
                '更新简单数据
                Public   Sub   UpdateSimpleData(ByVal   Name   As   String,   ByVal   AddTime   As   Date,   ByVal   IsShow   As   Boolean)
                        conn.Open()
                        Access   =   "update   Product_Info   set   Name=@Name,   AddTime=@AddTime,   IsShow=@IsShow "
                        Cmd   =   New   OleDbCommand(Access,   conn)
                        Cmd.Parameters.Add( "@Name ",   OleDbType.Char).Value   =   Name
                        Cmd.Parameters.Add( "@AddTime ",   OleDbType.Date).Value   =   AddTime


                        Cmd.Parameters.Add( "@IsShow ",   OleDbType.Boolean).Value   =   IsShow
                        Try
                                Cmd.ExecuteNonQuery()
                                conn.Close()

                        Catch   ex   As   Exception

                        End   Try

                End   Sub
用ObjectDataSource添加业务层的update方法,但是我编辑更新一条记录的时候,其他所有数据也跟着update成一样了。

[解决办法]
1.Access = "update Product_Info set Name=@Name, AddTime=@AddTime, IsShow=@IsShow "
*******************
这条语句需要指定更新哪一条记录,否则就变成全部更新了,正确的写法
Access = "update Product_Info set Name=@Name, AddTime=@AddTime, IsShow=@IsShow where Id=@Id "
2.Try
Cmd.ExecuteNonQuery()
conn.Close()

Catch ex As Exception

End Try
***********
conn.Close()写到finally语句中,

[解决办法]
LS正确, 要where条件。。不然就全部更新了。添加多个参数。

热点排行