帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > 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编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·放眼未来 帝国近期将有重大举措!
·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
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统