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

 更新时间:2018年10月25日 14:56:25   作者:Czhenya  
今天小编就为大家分享一篇关于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();
    }
  }
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • C#/VB.NET 实现彩色PDF转为灰度PDF

    C#/VB.NET 实现彩色PDF转为灰度PDF

    本文以C#代码为例介绍如何实现将彩色PDF文件转为灰度(黑白)的PDF文件,即将PDF文档里面的彩色图片或者文字等通过调用方法转为文档页面为灰色调、无彩色效果的文档。快来跟随小编一起学习吧
    2021-11-11
  • C#图像灰度级拉伸的方法

    C#图像灰度级拉伸的方法

    这篇文章主要介绍了C#图像灰度级拉伸的方法,涉及C#灰度操作的相关技巧,需要的朋友可以参考下
    2015-04-04
  • Unity C#打包AssetBundle与场景详解

    Unity C#打包AssetBundle与场景详解

    这篇文章主要给大家介绍了关于Unity C#打包AssetBundle与场景的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-02-02
  • WPF利用ScottPlot实现动态绘制图像

    WPF利用ScottPlot实现动态绘制图像

    ScottPlot是基于.Net的一款开源免费的交互式可视化库,支持Winform和WPF等UI框架,本文主要为大家详细介绍了如何WPF如何使用ScottPlot实现动态绘制图像,需要的可以参考下
    2023-12-12
  • C#使用TCP协议实现数据发送和接受的方法

    C#使用TCP协议实现数据发送和接受的方法

    这篇文章主要介绍了c#使用TCP协议实现数据发送和接受,使用TCP协议实现数据的发送和接受包括客户端和服务端两个部分,本文通过实例代码介绍的非常详细,需要的朋友可以参考下
    2024-04-04
  • C# 解压gizp文件(.tgz)的实例

    C# 解压gizp文件(.tgz)的实例

    下面小编就为大家分享一篇C# 解压gizp文件(.tgz)的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • c#实现适配器模式的项目实践

    c#实现适配器模式的项目实践

    适配器模式将一个类的接口转换成客户希望的另一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作,本文主要介绍了c#实现适配器模式的项目实践,感兴趣的可以一起来了解一下
    2023-08-08
  • C#实现简单学生信息管理系统

    C#实现简单学生信息管理系统

    这篇文章主要为大家详细介绍了C#实现简单学生信息管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • C# 格式化字符首字母大写的方法

    C# 格式化字符首字母大写的方法

    这篇文章介绍了C# 格式化字符首字母大写的方法,有需要的朋友可以参考一下
    2013-08-08
  • DevExpress TreeList 常见问题解决方法

    DevExpress TreeList 常见问题解决方法

    这篇文章主要介绍了DevExpress TreeList 常见问题解决方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-12-12

最新评论