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


    字段定义好之后,接下来我们就可以加入记录了。要为DataTable 加入记录首先要先产生DataRow 对象,这个对象是由DataTable 的NewRow 方法所产生,例如下列程序代码片段所示:

...
Dim drRow As DataRow 'DataRow 是由Table 产生, 所以不需要使用New 运算

drRow = dtTable.NewRow() 'dtTable 依照Colunm 的架构产生DataRow

    我们利用DataTable 产生DataRow 时,DataTable 会依照Columns 集合中的字段架构的定义来产生一个独立的DataRow 对象。因为DataTable 是依照字段的架构来产生DataRow 对象,所以新产生的DataRow 对象中会有一个和DataTable 内的Columns 集合架构一样的Columns 集合:

以下为DataRow 对象常用的属性:

    我们可以利用DataRow 对象的Item 属性来设定或传回纪录中字段的数据,如下程序代码片段所示:

drRow.Item("UserId") = "Charles" '以传入Key 来指定

drRow(1) = "1234" '省略Item 的简略写法,并传入Index 来指定

    由于这个DataRow 对象是独立的对象,DataTable 在产生DataRow 时并没有将它加入自己的Rows 集合内;所以我们设定完DataRow 对象中的数据后,还必须使用DataTable 对象中Rows集合的Add 方法将DataRow 加入到我们的DataTable 内,如下程序代码片段所示:

dtTable.Rows.Add(drRow) '将DataRow 对象加入DataTable 中

例如下图在DataTable 中加入了两笔记录:

    在DataTable 对象中有许多笔记录,每一笔记录中都有许多字段。要取得指定的记录可以利用DataTable 对象中Rows 集合的Item 属性来指定。例如下列程序代码片段将第一笔记录的第一个栏为值取回:

Dim strFiled As String
strField = dtTable.Rows.Item(0).Item(0) '将第一笔数据的第一个字段取回

strFiled = dtTable.Rows(0).Item(0) '省略Rows 的Item 属性也可以

strFiled = dtTable.Rows(0)(0) '省略全部的Item 属性也接受

    下列范例产生了上述架构的使用者自订DataTable 对象,并填入三笔记录后,再将DataTable的内容显示出来:

<%@Import Namespace=System.Data.ADO%>
<%@Import Namespace=System.Data%>
<Script Language="VB" Runat="Server">
Sub Page_Load(Sender As Object, e As EventArgs)
Dim dtTable As DataTable = New DataTable()
Dim dcColumn As DataColumn = New DataColumn()
Dim drRow As DataRow 'DataRow 是由Table 产生, 所以不需要使用
New 运算子
Dim shtI As Short
dcColumn.ColumnName = "UserId" '设定字段名称
dcColumn.DataType = System.Type.GetType("System.String") '设定
字段型态
dcColumn.AllowNull = False '不允许空白
dtTable.Columns.Add(dcColumn) '将字段的定义加入DataTable
'对象的Column 集合里
dcColumn = New DataColumn() '再产生一个新的DataColumn 对象
dcColumn.ColumnName = "UserPwd" '设定字段名称
dcColumn.DataType = System.Type.GetType("System.String") '设
定字段型态
dcColumn.AllowNull = False '不允许空白
dtTable.Columns.Add(dcColumn) '将字段的定义加入DataTable
'对象的Column 集合里
For shtI = 0 To 2
drRow = dtTable.NewRow() 'dtTable 依照Colunm 的架构产生
DataRow
drRow("UserId") = "账号" & (shtI+1).ToString '以Key 来取得
drRow(1) = (shtI+1).ToString '以Index 来取得
dtTable.Rows.Add(drRow)
Next
For shtI = 0 To 2
Response.Write(dtTable.Rows(shtI)("UserId") & _
", 密码: " & dtTable.Rows(shtI)("UserPwd") & "<br>")
Next
End Sub
</SCRIPT>


  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·从资料源取回第二个DataTable  (2005-04-02)
 ·DataSetCommand 对象读取以及更新  (2005-04-02)
 ·DataSet 对象与DataSetCommand 对  (2005-04-02)
 ·DataView 物件  (2005-04-02)
 ·Web控件与数据源的系结(Data Bi  (2005-04-02)
 ·DataList Web--OnItemCommand 事  (2005-04-02)
 ·DataList Web 控件  (2005-04-02)
 ·系结至DataView  (2005-04-02)
 ·DataGrid Web 控件的基础应用  (2005-04-02)
 ·DataGridPager 样式  (2005-04-02)

   栏目导行
  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
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统