C#:02数据库连接池、增删改查操作

本文介绍了C#中ADO连接数据库的过程,包括连接字符串、连接对象、sql语句、SqlCommand对象的使用。重点讨论了数据库连接池的概念,解释了为何在完成操作后通常调用Close()而不是Dispose()以保持性能并利用连接池。最后展示了如何在控制台应用程序中使用using语句实现增删改查操作。
摘要由CSDN通过智能技术生成

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
  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值