快速业务通道

asp.net夜话之七:ADO.NET介绍

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21
"UserId"].ToString() + "</td>");
Response.Write("<td>" + data.Rows[i]["UserName"].ToString() + "</td>");
Response.Write("<td>" + data.Rows[i]["RealName"].ToString() + "</td>");
Response.Write("<td>" + data.Rows[i]["Age"].ToString() + "</td>");
//下面是按照列顺序直接读取值,并且根据值来判断最终显示结果
Response.Write("<td>" + (bool.Parse(data.Rows[i]["Sex"].ToString()) == true ? "男" : "女") + "</td>");
//根据列顺序读,列的值需要做相应转换
Response.Write("<td>" + data.Rows[i]["Mobile"].ToString() + "</td>");
//根据列名来读取,列的值需要做相应转换
Response.Write("<td>" + data.Rows[i]["Phone"].ToString() + "</td>");
Response.Write("<td>" + data.Rows[i]["Email"].ToString() + "</td></tr>\n");
}
}
}

上面的程序代码基本与使用DataReader对象的例子相同,不过这里查询的所有女性用户,效果如下:

DataTable对象

DataTable 是 ADO.NET 库中的核心对象,就像普通的数据库中的表一样,它也有行和列。它主要包括DataRow和DataColumn,分别代表行和列。

(1)数据行(DataRow)

数据行是给定数据表中的一行数据,或者说是数据表中的一条记录。它可能代表一个学生、一位用户、一张订单或者一件货物的相关数据。DataRow对象的方法提供了对表中数据的插入、删除、更新和查看等功能。提取数据表中的行的语句如下:

DataRow dr = dt.Rows[n];

其中:DataRow代表数据行类;dr是数据行对象;dt代表数据表对象; n代表行的序号(序号从0开始)。

(2)数据列(DataColumn)

数据表中的数据列(又称字段)定义了表的数据结构,例如,可以用它确定列中的数据类型和大小,还可以对其他属性进行设置。例如,确定列中的数据是否是只读的、是否是主键、是否允许空值等;还可以让列在一个初始值的基础上自动增殖,增值的步长还可以自行定义。

某列的值需要在数据行的基础上进行。语句如下:

string dc=dr.Columns["字段名"].ToString();

或者

string dc=dr.Column[i].ToString();//i表示对应的列索引

综合前面的语句,若想取出数据表(dt)中第3条记录中的“姓名”字段,并将该字段的值放入一输入框(textBox1)中时,语句可以写成:

DataRow dRow = dt.Rows[2 ];   // 从数据表提取行
string textBox1.Text=dRow["CompanyName"].ToString(); // 从行中取出字段的值

下面是一个利用代码在内存中创建表并显示的例子(仍然是采用了单页模式):

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

protected void Page_Load(object sender, EventArgs e)
{
}
private void CreateDataTable()
{
//实例化DataTable
DataTable data = new DataTable();
//创建一个名为"ID"的列,值

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号