码迷,mamicode.com
首页 > 其他好文 > 详细

黑马自学ADO学习

时间:2015-10-14 09:05:24      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:

ADO.net  就是微软提供的一堆类库,这个类库里面有很多专门操作各种数据库的类,他们都是实现了统一口

 

组成部分

第一部分: 数据提供程序  命名空间:System.Data.SqlClient

Connection   连接数据库的通道

Command    命令执行对象

DataReader   数据读取器

DataAdapter  数据适配器

 

第二部分: 数据集 命名空间:System.Data

本地化的结果集,就是把数据库查询之后的结果集,取出来存到本地内存中

 

ConnectionStringBuiler :自动化生成连接字符串

连接字符串就是告诉程序,要怎么连接数据库,连接哪个数据库,用什么登陆方式

 

三大对象的理解

Connection 从程序到数据库的一条路

Command 从上面的那条路,走到数据库取很少的数据的一个人

DataReader 从上面的那条路,开到数据库取相对较多的数据的摩托车

DataAdapter 从上面的那条路,开到数据库取很多的数据的卡车

 

我们根据自己的需求的数据量的大小,选择以上3个对象

 

最简单的ADO

1.创建连接通道

2.创建命令对象

3.指定命令对象要执行的命令

4.指定命令对象使用的连接通道

5.打开连接

6.执行命令

7.关闭连接

 

连接池

池: 在电脑内存里的一个键值对集合

如果使用相同的连接字符串来创建一个新的conn对象,那么就会直接从连接池中取出这个对象,不会重新创建

三大方法

 

ExecuteScalar()

这个事返回sql语句查询出来的结果集的第一行第一列的一个ibject值

 

ExecuteNonQuery()

执行非查询语句(增删改),并且返回受影响行数

 

ExecuteReader()

执行查询 返回一个读取器,这个读取器返回的是服务器内存里的一个结果集数据,我们通过hasRows属性可以知道这个结果集有木有数据

Read()方法,可以让读取器向前进一行,,并且把这一行的数据装到当前对象里

 

通过rede[下标] 就可以去到当前行的数据 因为我们在sql语句中可以给列名取别名,所以这里的列名就不一定和数据库的列名相同

 

 

ExecuteScalar

 

返回查询语句查询到的结果集的第一行第一列的值,由于程序本身不能确定返回值到底是什么类型的,所以,返回的时候object类型,需要我们自己做数据类型转换

 

在一个insert语句执行完毕后,得到刚才新增的主键

 

在insert语句的valuer前面加上 “inserted.主键” 这样就可以得到新增的主键

对比普通的insert语句,普通的是显示受影响的行数,如果加上uotput就是返回主键值

如果查询语句返回的是一个空的结果集,返回的是一个null

 

SqlDataReader

不能手动直接NEW,因为它是直接读取数据库的,而且是读取的一个指针指向的内存,如果让用户直接new,那么就可能出现不赋值的情况

Reader 在读取数据的过程当中,connection是不能中断的,要保持连接,不能手动关闭,断网也会报错

GetDataTime()  GetInt32()等方法,是方便我们取到想要的数据的指定的类型,因为我们在程序执行之前就已经知道了查询结果集里面有多少个 列,每一个列是什么类型,所以我们在这里就可以直接取到相应的类型

 

判断一个值在数据库中是否为null, IS DBNULL

 

Sqlparameter

 

六种写法

 

 

 

 技术分享

 

.

DataSet

1.把数据库查询过后的结果集拿到本地来存储在内存中,就变成了数据集

 

 

SqlDataAdapter

 

黑马自学ADO学习

标签:

原文地址:http://www.cnblogs.com/WZLYA/p/4876367.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!