帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > 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编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·放眼未来 帝国近期将有重大举措!
·PHPWind6.3.2版通行证发布
·帝国备份王2008版正式发布
·帝国备份王2008版发布
·phpcms2007转帝国CMS5.0程序发布
·dedecms5.1转帝国CMS5.0程序发布
·帝国网站管理系统V5.0商业购买说明
   类别最新
·ASP.NET中为DataGrid添加合计字段
·.text urlRewrite介绍
·利用 ASP.NET 的内置功能抵御 Web
·ASP.NET Cache
·用 WebClient.UploadData 方法 上载
·ASP.NET 程序设计-序
·什么是客户端/伺服端(Client/Serve
·因特网应用程序的开发
·网页的种类
·.NET Framework-Microsoft Visual
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统