学习ado.net(1):概述 1-3
在.net框架中,基础类库相关丰富,当然大家开发信息系统, 用的最多的莫过于ado.net框架类了。
当然很多朋友可能在实际开发中,可能已经很少去接触这些基本的ado.net类了,而常常用到的是各种各样的对ado.net这些类封装之后的一写数据访问框架。 当然大家明白,不论你用到的框架如何方便 ,里面是离不开这些基本的ado.net的类的。所以作为初学者,全面而熟练的掌握ado.net是非常有必要的。
ado.net框架结构图
图一
图二:
ado.net框架的2个部分组成
1、.net数据提供程序(Connection、Command、DataReader、DataAdapter) 需要与具体数据库打交道, 微软将这些类针对不同的数据库做了不同的优化
System.Data.SqlClient -Sql Server
System.Data.OleDB -Access
System.Data.OracleClient -Oracle
System.Data.ODBC
2、DatatSet “内存中的数据库” 不与具体的数据库打交道, 导致不论用什么数据库, DataSet没有差别
Connection连接对象
属性
ConnectionString
方法
Open() 打开连接
Close() 关闭连接
Dispose() 销毁连接
BeginTrancation() 在连接上开启事务
Command命令对象
属性
CommandText 命令文本(直接写表名 or sql语句 or 存储过程名)
CommandType 命令类型(表名/sql语句/存储过程)
Connection 命令所用的连接
Parameters 命令所用的参数
方法
ExecuteNonQuery() 执行SQL,返回受影响行数
Insert update delete
ExecuteReader() 执行查询SQL,返回查询结果(DataReader)
Select 。。。。
ExecuteScalar() 执行查询SQL, 返回查询结果的第1行第1列
Select count(*) from users
Select Avg(age) from users
Select top 1 name from Users
Parameter参数对象
为什么要用Parameter
Sql语句中常包含有特殊字符写入数据库的问题
可以防止sql注入,代码更加安全
DataReader数据阅读器
用于引用查询结果
方法
Read() 读取下一行
Get…(index) 根据字段的索引获取当前行的字段值
obj[“filedName” |index] 使用索引器取当前字段值