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

怎么在GridView加入按钮来进行更新的操作

2012-01-31 
如何在GridView加入按钮来进行更新的操作!说明:我用的数据源是Access数据源控件,而后我又在Gridview控件中

如何在GridView加入按钮来进行更新的操作!
说明:我用的数据源是Access数据源控件,而后我又在Gridview控件中加入ButtonField字段加入按钮,为了更新Gridview控件中的时间字段,而这个时间是当前的日期时间,没有涉及到编辑。在应用中,更新别的字段好用,而更新时间不起做用,也不提示错误,不知为什么:
代码如下:
后台的:
Protected   Sub   GridView2_RowCommand(ByVal   sender   As   Object,   ByVal   e   As   System.Web.UI.WebControls.GridViewCommandEventArgs)   Handles   GridView2.RowCommand
                If   e.CommandName   =   "Update "   Then
                        Dim   cn   As   New   OleDbConnection(yjClass.DbPath1)
                        Dim   str   As   String   =   "Update   info   set      fbTime=@d,infobt=@bt   where   id= "   &   e.CommandArgument.ToString
                        Dim   cmd   As   New   OleDbCommand(str,   cn)
                        cmd.Parameters.Add( "@d ",   OleDbType.Date)
                        cmd.Parameters( "@d ").Value   =   Date.Now                        
                        Try
                                cn.Open()
                                cmd.ExecuteNonQuery()
                        Finally
                                cn.Close()
                        End   Try
                End   If
        End   Sub

e.CommandArgument.ToString 是按钮绑定的Id字段。
前台代码:

<asp:GridView   ID= "GridView2 "   runat= "server "   AutoGenerateColumns= "False "
                DataKeyNames= "Id "   DataSourceID= "AccessDataSource1 "   Width= "580px "   BorderStyle= "None "   BorderWidth= "0px "   CellPadding= "4 "   CellSpacing= "2 "   >
                <Columns>
                        <asp:TemplateField> </asp:TemplateField>
                        <asp:BoundField   DataField= "Id "   HeaderText= "Id "   InsertVisible= "False "   ReadOnly= "True "
                                SortExpression= "Id "   />
                        <asp:TemplateField   HeaderText= "信息标题 ">
                                <ItemTemplate>


                                        <asp:HyperLink   ID= "HyperLink1 "   runat= "server "   NavigateUrl= ' <%#   Eval( "id ",   "DisplayInfo.aspx?infoid={0} ")   %> '
                                                Text= ' <%#   Eval( "infobt ")   %> '> </asp:HyperLink>
                                </ItemTemplate>
                        </asp:TemplateField>
                        <asp:TemplateField   HeaderText= "发布时间 ">
                                <EditItemTemplate>
                                        <asp:TextBox   ID= "TextBox1 "   runat= "server "   Text= ' <%#   Bind( "fbtime ")   %> '> </asp:TextBox>
                                </EditItemTemplate>
                                <ItemTemplate>
                                        <asp:Label   ID= "Label1 "   runat= "server "   Text= ' <%#   Bind( "fbtime ")   %> '> </asp:Label>
                                </ItemTemplate>
                        </asp:TemplateField>
                        <asp:BoundField   DataField= "FbMan "   SortExpression= "FbMan "   Visible= "False "   />
                        <asp:TemplateField   HeaderText= "更新 "   ShowHeader= "False ">
                                <ItemTemplate>
                                        <asp:LinkButton   ID= "LinkButton3 "   runat= "server "   CausesValidation= "False "   CommandArgument= ' <%#   Eval( "id ")   %> '  
                                        CommandName= "Update "     Text= "更新 "   > </asp:LinkButton>
                                </ItemTemplate>
                        </asp:TemplateField>                    


                        <asp:CommandField   ShowDeleteButton= "True "   />
                </Columns>
                <HeaderStyle   BackColor= "#FFC0C0 "   />
                <EmptyDataTemplate>
                        <asp:Label   ID= "Label3 "   runat= "server "   Font-Size= "12px "   ForeColor= "#FF8080 "   Text= "您还没有信息发布!! "> </asp:Label>
                </EmptyDataTemplate>
        </asp:GridView>

请高手指点!!

[解决办法]
Dim str As String = "Update info set fbTime=@d,infobt=@bt where id= " & e.CommandArgument.ToString

没看到有@bt参数阿

[解决办法]
更新只对有编辑的数据而言,如果你没有编辑时间,当然时间值没有变化。在Update前,请用代码将时间字段值修改为当前时间

热点排行