帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > ASP.NET编程
修改数据并更新回数据源
作者:佚名 发布时间:2005-04-02 来源:不详
 


    在处理数据的时候,DataRow 对象会自动记录目前记录的状况。只要记录一有改变便作注记,等呼叫DataSetCommand 对象的Update 方法时,DataSetCommand 会自动产生适当的SQL叙述将修改更新至数据源。以下为Update 方法的语法:

DataSetCommand.Update(DataSet, "DataTable 名称")

    下列程序代码片段,显示如何更改DataSet 对象中DataTable 对象里的数据:

Dim dtTable As DataTable
dtTable=dsDataSet.Tables("Members") ' 方便程序写作起见, 先将
DataTable
' 的参考取回并由dtTable 对象管理
dtTable.Rows.Item(0).Item(0) = 资料' 或dtTable.Rows(0).Item(0) =
资料
' 或dtTable.Rows(0)(0) = 资料
dscA.Update(dsDataSet, "Members") ' 利用DataSetCommand 对象的
' Update 方法将改变更新至数据源

    上述程序代码叙述在DataSetCommand 对象呼叫Update 方法时,会自动产生适当的SQL 叙述来执行更新的动作。接下来我们来作一个完整的范例,这个范例一开始会先将所有会员数据显示出来,并准备一些文字输入盒。我们可以在文字输入盒内输入所要修改的记录编号、字段名称以及要替代的新值,输入完毕后可按确定按钮执行更新的工作:

<%@Import Namespace=System.Data%>
<%@Import Namespace=System.Data.ADO%>
<html>
<FORM id=Form1 Runat="Server" Action=""Ex15.aspx"">
要修改的序号: <INPUT Type="Text" Id=Text1 Runat="Server"><br>
要修改的字段: <INPUT Type="Text" Id=Text2 Runat="Server"><br>
要修改的新值: <INPUT Type="Text" Id=Text3 Runat="Server">
<INPUT Type="Submit" Value="确定">
</FORM>
<Table Id="Table1" Runat="Server" Border="1"/>
<Script Language="VB" Runat="Server">
Sub Page_Load(Sender As Object, e As EventArgs)
Dim strConStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:InetPubwwwrootCRCH05MyWeb.mdb"
Dim strComStr As String = "Select * From Members"
Dim dscA As ADODataSetCommand = New ADODataSetCommand(strComStr,
strConStr)
Dim dsDataSet As DataSet = New DataSet()
dscA.FillDataSet(dsDataSet, "Members") ' 将使用者数据填入
DataSet 对象中
If IsPostBack Then
If Text1.Value<>Nothing And Text2.Value<>Nothing _
And Text3.Value<>Nothing Then ' 确定文字输入盒都
有数据
dsDataSet.Tables("Members").Rows((Text1.Value).ToInt16 -
1)(Text2.Value) _
= Text3.Value
dscA.Update(dsDataSet,"Members")
End If
End If
AddTableToTable(dsDataSet) ' 呼叫将DataTable 填入HtmlTable 的副程序
End Sub
Sub AddTableToTable(ByRef dsDataSet As DataSet)
Dim Cell As HtmlTableCell
Dim Row As HtmlTableRow
Dim X,Y As Short
Row=New HtmlTableRow
Cell=New HtmlTableCell ' 将序号这一列的
Cell.InnerText="序号" ' 名称加入Row 对象中
Row.Cells.Add(Cell)
For Y=0 To dsDataSet.Tables("Members").Columns.Count-1 ' 将各字

Cell=New HtmlTableCell ' 名称加入
Cell.InnerText=dsDataSet.Tables(0).Columns(Y).ColumnName
' Row 物件
Row.Cells.Add(Cell)
Next
Table1.Rows.Add(Row) '将显示字段名称的第一列加入表格中
For X=0 To dsDataSet.Tables("Members").Rows.Count-1 '将所有Members
的记录取出
Row=New HtmlTableRow
Cell=New HtmlTableCell
Cell.InnerText=X+1 ' 将记录的顺序加入第一栏
Row.Cells.Add(Cell) ' 并加入Row 对象的Cells 集合
For Y=0 To dsDataSet.Tables("Members").Columns.Count-1 ' 将记录
中所有
Cell=New HtmlTableCell ' 字段的
数据取
Cell.InnerText=dsDataSet.Tables(0).Rows(X)(Y) ' 出,并
放入Row
Row.Cells.Add(Cell) ' 物件中
Next
Table1.Rows.Add(Row) ' 将完成的一笔记录加入Table 对象的Rows
集合中
Next
End Sub
</SCRIPT>
</html>



数据尚未修改前

数据修改后
 
 
  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·创建及修改数据库对象  (2005-03-12)
 ·ADO如何新增修改删除数据库的记录  (2005-03-12)
 ·ASP注册表项目修改  (2005-03-12)
 ·如何编程实现修改数据库 login I  (2005-03-12)
 ·如何在sql server系统表中获得用  (2005-03-12)
 ·ADO如何建立修改删除表   (2005-03-12)
 ·用ASP修改NT登陆密码  (2005-03-12)
 ·透過 ASP 修改 NT 使用者密碼  (2005-03-12)
 ·用文本+ASP打造新闻发布系统(五)  (2005-03-12)
 ·ASP注册表项目修改  (2005-03-12)

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·DiscuzX2.5会员整合通行证发布
·帝国CMS 7.0版本功能建议收集
·帝国网站管理系统2012年授权购买说
·PHPWind8.7会员整合通行证发布
·[官方插件]帝国CMS-访问统计插件
·[官方插件]帝国CMS-sitemap插件
·[官方插件]帝国CMS内容页评论AJAX分
   类别最新
·ASP.NET中为DataGrid添加合计字段
·.text urlRewrite介绍
·利用 ASP.NET 的内置功能抵御 Web
·ASP.NET Cache
·用 WebClient.UploadData 方法 上载
·ASP.NET 程序设计-序
·什么是客户端/伺服端(Client/Serve
·因特网应用程序的开发
·网页的种类
·.NET Framework-Microsoft Visual
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统