字段定义好之后,接下来我们就可以加入记录了。要为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>
