没有合适的资源?快使用搜索试试~ 我知道了~
ASP.NET和ADO.NET数据库开发技术.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 91 浏览量
2022-06-23
11:13:03
上传
评论
收藏 2.47MB DOC 举报
温馨提示
试读
49页
ASP.NET和ADO.NET数据库开发技术.doc
资源详情
资源评论
资源推荐
ASP.NET 和 ADO.NET 数据库开发技术
本章主要介绍 ASP.NET 和 ADO.NET 基础知识,ASP.NET 连接数据库
方法,ADO.NET 读取和操作数据库数据等基于.NET 数据库开发技术。并
以 VS.NET 2005 作 为 开 发 平 台 , 结 合 实 例 介 绍
DataSet、GridNew、DataList 等常用数据服务控件。
1 ADO.NET 命名空间
在 ASP.ENT 文件中通过 ADO.NET 访问数据需要引入几个命名空间 ,
ADO.NET 命名空间如表 10.1 所示。
表 10.1 ADO.NET 命名空间
ADO.NET 命名空间 说明
System.Data
提供 ADO.NET 构架的基类
System.Data.OleDB
针对 OLEDB 数据源所设计的数据存取类
System.Data.SqlClient
针对 Microsoft SQL Server 数据源所设计的数据存取类
2 数据集(DataSet)
数据集即 DataSet 类。DataReader 类和 DataSet 类是 ASP.NET 处
理数据的两种主要方法。DataSet 类为数据提供了一种与数据无关的内存
驻留表示形式。这些数据通过合适的 DataAdapter 来显示和更新后台数据
库。DataSet 类也可以从 XML 文件和 Stream 对象中读取。
通过在数据集中 插入、修改、删除 DataTable、DataColumns 和
DataRows,可以实现编程构建和操作数据集。也可以用这样的数据集更新
后台数据库,只要使用数据集中的 Update 方法即可。
类 型 化 数 据 集 使 代 码 易 于 阅 读 , 并 且 不 易 出 错 。 也 可 以 用 一 个
DataView 来过滤用于显示或者计算的数据集的内容。
2.1 使用 DataAdapter 类
DataAdapter 类即数据适配器,它是将后台数据库的数据写入数据集,
并用数据集中的数据更新数据库。.NET 框架安装了两个数据适配器:
SqlDataAdapter 和 OleDBDataAdapter。每个 DataAdapter 都使用适
当的 Connection 类和 Command 类获取和更新数据。
DataAdapter 包含由 4 个 Command 类的实例组成的一个集合:
SelectCommand 、 InsertCommand 、 UpdateCommand 和
DeleteCommand 。 当 使 用 SqlDataAdapter 时 , 这 4 个 类 为
SqlCommand 类 ; 当 使 用 OleDBCommand 时 , 这 4 个 类 为
OleDBCommand 类。
SqlDataAdapter 类和 OleDBDataAdapter 类的 Fill 方法使用的对象
Command,由 DataAdapter 的 SelectCommand 属性指定,数据集用
后台数据库的结果填充。
下面的代码创建一个连接,然后创建一个新的 SqlDataAdapter,并把
它的 SelectCommand 属性设置为新创建的 SqlCommand 对象,这个对
象使用由 SQL 参数指定的查询。最后,代码创建了一个新数据集,并用
SqlDataAdapter 的 Fill 方法填充它,然后关闭这个连接。
//SQL语句
string SQL = "use studb Select count(*)From S;";
//数据库连接字符串
string ConnStr = "server=localhost;uid=sa;pwd=sa";
//实例化数据库连接
SqlConnection mySqlConn = new
SqlConnection(ConnStr);
mySqlConn.Open();
SqlDataAdapter mySqlAdapter = new
SqlDataAdapter();
mySqlAdapter.SelectCommand = new SqlCommand(SQL,
mySqlConn);
DataSet myDS = new DataSet();
//填充数据
mySqlAdapter.Fill(myDS);
//释放连接
mySqlConn.Close();
这样,数据集里的数据就可以被更新、删除、插入。
2.2 使用 DataTables、DataColumns 和 DataRows
填充数据集的另外一种方法就是编程创建它的表、列或行。这样不必连
接一个后台数据库就可以创建数据集。假设创建的表的构架与数据库匹配,
就可以连接数据库并根据程序添加到数据集中的行来更新数据库。
例 10.3 在数据库 studb 的 S 表中插入一条新记录。
这 里 使 用 SqlCommandBuilder 对 象 来 自 动 创 建
UpdataCommand(当 SqlAdapter 的 Update 方法被调用时,这个命令
就被调用)。
( 1 ) 新 建 一 个 名 为 sample_10.3 的 ASP.NET 网 站 。 打 开
default.aspx 的 设 计 页 面 , 从 工 具 箱 中 拖 出 5 个 Label1 、 5 个
TextBox、1 个 Button 控件和 1 个 GridView 控件到设计界面,设置这些
的 ID、Text 属性。如图 10.7 所示。
图 10.7 事例 sample_10.3 的设计界面
(2)双击空白页面切换到后台编码文件 Default.aspx.cs,添加如下
命名空间:
using System.Data.SqlClient;
(3)在事件处理程序 Button1_Click()中添加如下代码:
string SQL = "use studb select * from S";
string myStr =
"server=localhost;database=studb;uid=sa;pwd=sa";//SQL Server 和
Windows混合模式
//string myStr = "server=localhost;Integrated
Security=SSPI";//仅Windows身份验证模式
SqlConnection myConnection = new
SqlConnection(myStr);
myConnection.Open();
SqlDataAdapter mySqlDA = new SqlDataAdapter(SQL,
myConnection);
SqlCommandBuilder mySqlCB = new
SqlCommandBuilder(mySqlDA);
DataSet myDS = new DataSet();
DataTable STable;
DataRow SRow;
mySqlDA.Fill(myDS);
STable = myDS.Tables[0];
SRow = STable.NewRow();
SRow["SNO"] = TextBox1.Text;
SRow["SNAME"] = TextBox2.Text;
SRow["AGE"] = Convert.ToInt16(TextBox3.Text);
SRow["SEX"] = TextBox4.Text;
SRow["DNAME"] = TextBox5.Text;
STable.Rows.Add(SRow);
mySqlDA.Update(myDS);
GridView1.DataSource = myDS.Tables[0].DefaultView;
GridView1.DataBind();
myConnection.Close();
(4)Ctrl+F5 运行,在运行的页面中点击“添加”命令按钮,则将插入
的新记录添加到数据表 S 中,并在右侧的 GridView1 控件中显示表 S 信息。
运行结果如图 10.8 所示。
图 10.8 事例 sample_10.3 运行结果
10.6 DataReader 类
如果需要对数据的更新、返回以及读写构架等有严格的控制,则数据集
是 最 佳 的 选 择 , 但 如 果 只 需 要 迅 速 有 效 地 显 示 某 一 些 数 据 , 使 用
DataReader 比较方便。
DataReader 对象提供一个只读的、单向向前移动的记录集。使用
DataReader 对象可以有效地节约内存,因为内存中一次只会保存一条记
录,而不是将所有的记录都装入。DataReader 分为 SqlDataReader 和
OleDBReader 两种,它们分别基于 SQLServer 数据库和 OLEDB 数据库。
DataReader 对象的常用属性和方法如表 10.6 和 10.7 所示。
表 10.6 DataReader 对象的属性
属性 说明
FieldCount
用于表明当前记录的字段(列)数量。只读属性
HasMoreRows
用于表明是否还有记录未被读取。只读属性
IsClosed
用于表明 DataReader 对象是否已经关闭。只读属性
Item
用于引用字段的内容,可以用字段名或字段序数来引用字段。只读属
性
表 10.7 DataReader 对象的方法
方法 说明
Close
用于关闭 DataReader 对象
GetDataTypeName
用于获取字段的数据类型名
GetName
用于获取字段名
GetOrdinal
用于获取字段序数
GetValues
用于读取记录的所有字段的内容
IsNull
用于判断某个字段内容是否为空
Read
用于表明是否还有记录能被读取,如果有,则读取下一条记录
例 10.4 使用 DataReader 读取数据库 studb 的 S 表中的数据。
步骤:
( 1 ) 新 建 一 个 名 为 sample_10.4 的 ASP.NET 网 站 , 打 开
Default.aspx 的设计页面,从工具箱中拖出 GridView 控件到设计界面,
如图 10.9 所示。
剩余48页未读,继续阅读
智慧安全方案
- 粉丝: 3659
- 资源: 59万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0