ADO连接数据库过程:
1、连接字符串
2、连接对象(SqlConnection)
3、sql语句
4、创建sqlCommand对象
定义查询字符串+用SqlCommand对象对数据源进行增、删、改、查
SqlCommand对象的方法有三种:
①ExecuteNonQuery()
用于对数据库增、删、改操作
②ExecuteScalar()
用于对数据库查询操作,返回第一行第一列的值(单个结果),常用来执行Count函数统计和Sum函数求和操作
③ExecuteReader()
用于对数据库查询操作,返回SqlDataReader对象,这个对象指向数据库服务器的内存,按行读取到当前开发环境下。
5、打开连接
6、执行
7、关闭连接(此时数据库连接是否真的断开了呢?见连接池)
使用using方式可以自动实现关闭reader访问和关闭数据库连接。
连接池的概念:
close()关闭链接,不释放数据库连接池的资源,而是把连接放回连接池中待用。
dispose()则会把这个连接彻底销毁掉,不会再放入连接池。如果所有的连接都被Dispose的话,每次使用数据库都必须重新创建连接,这样很耗费资源。因此不要用Dispose。
.NET会维护连接池,连接Open的时候从连接池中取出一个没有使用的连接,用完以后Close()的时候再放回连接池,实际上没有创建新的连接,从而提高了性能。 因此为了性能,为了使用连接池,不用dispose,但必须close() 。
下方是控制台应用程序:
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _05_连接池测试连接时间
{
class Program
{
static void Main(string[] args)
{
#region 打开ado.net连接池测试,通过Sql Server Profiler检测
//连接字符串中pooling=true和pooling=false分别测试下时间,
string constr = @"pooling=true;Data Source=CNH-SERVER;Integrated Secur