当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > asp.net中一次更新DATAGRID中所有记录

ASP.NET
ASP.NET下MVC设计模式的实现
ASP.NET中利用cookies保持客户端信息
有关TextBox中输入字符控制的一种解决办法
ASP.NET访问Oracle数据库的方法
追踪ASP.NET代码里的bug
在asp.net中为Web用户控件添加属性和事件
使用.NET实现断点续传
ASP.NET Whidbey中实现Provider
使用函数传递参数来执行数据库操作
ASP.NET中实现模版的动态加载
用Repeater控件显示数据
五种常见的ASP.NET安全缺陷
利用Treeview实现树形列表
将Asp.net页面输出为HTML
不走寻常路 设计ASP.NET应用程序的七大绝招
ASP.NET中的HTTP模块和处理程序
充分利用ASP.NET的三种缓存提高站点性能
在ASP.NET中使用Treeview控件和XML
ASP.NET+XML Web服务客户端创建Web服务
ASP.NET中不定级动态菜单的实现

ASP.NET 中的 asp.net中一次更新DATAGRID中所有记录


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 55 ::
收藏到网摘: n/a

在asp.net中,如何一次性更新datagrid中的所有记录呢?可以用如下的方法,首先,
要对DATAGRID中要更新的列建立模版列,比如:


asp:datagridid="dgPopularFAQs"runat="server"
AutoGenerateColumns="False"
...>
<Columns>
<asp:BoundColumnDataField="FAQID"ItemStyle-Width="10%"
ItemStyle-HorizontalAlign="Center"HeaderText="FAQID"/>

<asp:BoundColumnDataField="CategoryName"HeaderText="Category"/>

<asp:TemplateColumnHeaderText="Question">
<ItemTemplate>
<asp:TextBoxrunat="server"id="txtDescription"Columns="75"
Text='<%#Container.DataItem("Description")%>'/>
</ItemTemplate>
</asp:TemplateColumn>

<asp:TemplateColumnHeaderText="SubmittedBy">
<ItemTemplate>
<asp:TextBoxrunat="server"id="txtSubmittedBy"
Text='<%#Container.DataItem("SubmittedByName")%>'/>
</ItemTemplate>
</asp:TemplateColumn>

</Columns>
</asp:datagrid>
之后,对DATAGRID进行一次遍历,
DimmyConnectionasNewSqlConnection(connectionstring)
DimmyCommandasNewSqlCommand(strSQL,myConnection)

DimdgiasDataGridItem
ForEachdgiindgPopularFAQs.Items
'ReadinthePrimaryKeyField
DimidasInteger=Convert.ToInt32(dgPopularFAQs.DataKeys(dgi.ItemIndex))
DimquestionasString=CType(dgi.FindControl("txtDescription"),TextBox).Text
DimsubmittedByasString=CType(dgi.FindControl("txtSubmittedBy"),TextBox).Text

'IssueanUPDATEstatement...
DimupdateSQLasString="UPDATETableNameSETQuestion=@Question,"&_
"SubmittedByName=@SubmittedByNameWHEREFAQID=@ID"
myCommand.Parameters.Clear()
myCommand.Parameters.Add("@Question",question)
myCommand.Parameters.Add("@SubmittedByName",submittedBy)

myCommand.ExecuteNonQuery()
Next