网络编程
位置:首页>> 网络编程>> 数据库>> C#中通过使用Connection类来实现打开/关闭数据库的代码实例

C#中通过使用Connection类来实现打开/关闭数据库的代码实例

作者:Czhenya  发布时间:2024-01-21 22:36:55 

标签:c#,connection,数据库

为了访问数据库,就要提供数据库连接类,在C#中,是通过Connection类来实现的

四种类型的连接方式

  1. SQLConnection

  2. ADOConnection

  3. OractleConnection

  4. ODBCConnection

以SQLConnection方式实现数据库的连接:

  • SQL Server数据库

  • windows 身份信息验证

步骤:

  1. 引用命名空间 using System.Data.SqlClient;

  2. 将连接方法声明值字符串中

  3. 创建Connection对象

  4. 调用方法

为了节省系统资源提高系统性能,最好使用完数据库就关闭连接,在C#语言中由于GC(垃圾回收机制)的存在,会在以后的某个时刻释放资源,它是非决定性的,并不能确定这个过程在什么时候发生,当忘记关闭数据库是可以using语句确保对象退出时立即被释放,从而达到关闭数据库的作用,还有一种通过try..catch..final..语句控制连接数据库的关闭来提高性能

代码实现如下:


using System;
using System.Data.SqlClient;  //引入命名空间
namespace Csharpone
{
 class Program
 {
   static void Main(string[] args)
   {
     //windows 身份信息验证  下面的csharp01为新建的数据库名称
     string constr = "Server.;integrated security=SSPI;Initial Catalog=csharp01";
     SqlConnection mysqlCon = new SqlConnection(constr); //实例化
     mysqlCon.Open(); //打开数据库
     Console.WriteLine("数据库打开");  //正常打印说明没问题,否则会抛出异常
     //SQ验证方式 name是你设置的数据库的用户名,pwd是密码 csharp02是数据库名称
     string constr1 = "Server.;user=name; pwd=mima; database=csharp02";
     SqlConnection mysqlCon1 = new SqlConnection(constr1); //实例化
     mysqlCon1.Open(); //打开数据库
     Console.WriteLine("SQL方式 数据库打开");
/*通过using语句实现数据库的关闭
     using (mysqlCon1) {
       mysqlCon1.Open();
       Console.WriteLine("数据成功打开");  //执行完立即关闭
     }
     //通过try..catch..finally..
     try
     {
       mysqlCon.Open();
       Console.WriteLine("数据库关闭");
     }
     catch
     {
     }
     finally
     {
       mysqlCon.Close();
       Console.WriteLine("关闭数据库");
     }*/
//以上两种方式结合使用,确保数据库占用资源得到释放
     try
     {
       using (mysqlCon)
       {
         mysqlCon.Open();
  Console.WriteLine("打开数据库");
       }
     }
     catch
     {
     }
     finally
     {
       mysqlCon.Close();
    Console.WriteLine("关闭数据库");
     }
     Console.Read();
   }
 }
}

MySQL数据库代码如下:


using System;
using MySql.Data.MySqlClient;  //导入引用,并且添加命名空间
namespace CSharp连接Mysql
{
 class Program
 {
   static void Main(string[] args)
   {
     string connectStr = "server=localhost;port=3306;database=czhenya01;user=root;password=123456;";
     //并没有建立数据库连接
     MySqlConnection conn = new MySqlConnection(connectStr);
     try
     {
       conn.Open();  //建立连接,打开数据库
       Console.WriteLine("打开数据库成功");
     }catch (Exception ex)
     {
       Console.WriteLine(ex.ToString());
     }
     finally
     {
       conn.Close();  //关闭连接
     }      
     Console.ReadKey();
   }
 }
}

来源:https://blog.csdn.net/Czhenya/article/details/77430214

0
投稿

猜你喜欢

  • 在Python中,代码越少越好、越简单越好。基于这一思想,需要掌握Python中非常有用的高级特性,1行代码能实现的功能,决不写5行代码。代
  • 本文实例讲述了Python3.5集合及其常见运算。分享给大家供大家参考,具体如下:1、集合的定义:集合是一个无序的、无重复的数据的数据组合。
  • 前言Pandas是python的一个数据分析包,提供了大量的快速便捷处理数据的函数和方法。其中Pandas定义了Series 和 DataF
  • 首先明确为什么要使用分页查询,因为数据庞大,查询不可能全部显示在页面上,如果全部显示在页面上,也会造成查询速度慢的情况,所以分页查询解决了①
  • Python的优点和缺点本节内容如下:Python的优点Python的缺点使用Python的知名网站Python的优点1. 简单 Pytho
  •  研究了一段时间酷狗音乐的接口,完美破解了其vip音乐下载方式,想着能更好的追求开源,故写下此篇文章,本文仅供学习参考。虽然没什么
  • 今天在一个QQ群中看到有人在问一个进度条的实现方式,当时因为工作时间,需求相对也比较紧,只是简单的说了一下可以通过CSS的边框属性和背景属性
  • 1、什么是双向数据绑定Vue.js是一个MV VM框架, 即数据双向绑定, 即当数据发生变化的时候, 视图也就发生变化, 当视图发生变化的时
  • 在 Web 应用中,有时需要在响应请求前或者响应请求后做一些处理,为了让每个视图函数避免编写重复功能的代码,Flask 提供了请求钩子,它们
  • 前言:目前我们使用的绝大多数计算机程序,无论是办公软件,浏览器,甚至游戏、视频都是通过菜单界面系统配置的,它几乎成了我们使用机器的默认方式。
  • 前言以前在写C/C++代码时,可以在代码中预定义一些版本宏定义,然后再编译时从外部传入数据作为版本号。 golang代码不支持宏定义,如果每
  • 版本说明Python 3.0在设计的时候没有考虑向较早版本相容Python 2.6作为一个过渡版本,基本使用了Python 2.x的语法和库
  • Vue中keep-alive的使用我总结的有两种方式应用:首先简述一下keep-alive的作用,kee-alive可以缓存不活动的的组件。
  • Python中的ctypes模块可能是Python调用C方法中最简单的一种。ctypes模块提供了和C语言兼容的数据类型和函数来加载dll文
  • 如下所示:后台关键代码:data = {}#keys与values分别为该数据的键数组,值的数组。这里循环为字典添加对应键值for k, v
  • 阐述写SQL时本想通过 A left B join on and 后面的条件查出的两条记录变成一条,奈何发现还是有两条。后来发现 join
  • 首先介绍两种编码方式硬编码和onehot编码,在模型训练所需要数据中,特征要么为连续,要么为离散特征,对于那些值为非数字的离散特征,我们要么
  • 刷抖音的时候发现一个老师在用的课堂点名系统。用PyQt5实现了一下同款,导入学生姓名,测试了一下完美运行。操作效果展示:完整源代码块还是放在
  • 类:定义一件事物的抽象特点。对象:类的 实例。成员变量 − 定义在类内部的变量。该变量的值对外是不可见的,但是可以通过成
  • 本文介绍了Python日期的加减等操作的示例,分享给大家,也给自己留个笔记1. 日期输出格式化所有日期、时间的api都在datetime模块
手机版 网络编程 asp之家 www.aspxhome.com