动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
  
   .Net → 阅读文章

 修改数据并更新回数据源

作者来源: 
阅读 数 213 人次 , 2006-3-29 4:28:00 


在处理数据的时候,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:\inetpub\wwwroot\cr\ch05\myweb.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>



数据尚未修改前

数据修改后
 
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:定义数据表之间的关联
· 下一篇:从资料源取回第二个DataTable
· ASP.NET可交互式位图窗体设计(4)
· ASP.NET应用程序
· 在ASP.NET中使用Treeview控件和XML
· AutoPostBack 属性及Page.IsPostBack 属性
· 五种常见的ASP.NET安全缺陷


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077