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

所属分类: 软件编程 / C#教程 阅读数: 147
收藏 0 赞 0 分享

为了访问数据库,就要提供数据库连接类,在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# 大小写转换(金额)实例代码

C# 大小写转换(金额)实例代码,需要的朋友可以参考一下
收藏 0 赞 0 分享

C# WinForm中Panel实现用鼠标操作滚动条的实例方法

由于在WinForm中Panel不能直接响应鼠标的滚动事件,只好采用捕获窗体的滚动事件。
收藏 0 赞 0 分享

C#访问应用程序配置文件的方法

C#访问应用程序配置文件的方法,需要的朋友可以参考一下
收藏 0 赞 0 分享

C#读写文件的方法汇总

C#读写文件的方法汇总,需要的朋友可以参考一下
收藏 0 赞 0 分享

C#计算代码执行时间的方法

在一些测试工作时我们需要获得高精度的代码执行时间以比较其效率。
收藏 0 赞 0 分享

C# 动画窗体(AnimateWindow)的小例子

C# 动画窗体(AnimateWindow)的小例子,需要的朋友可以参考一下
收藏 0 赞 0 分享

C# zxing二维码写入的实例代码

C# zxing二维码写入的实例代码,需要的朋友可以参考一下
收藏 0 赞 0 分享

c#判断输入的是不是数字的小例子

c#判断输入的是不是数字的小例子,需要的朋友可以参考一下
收藏 0 赞 0 分享

c# 深拷贝与浅拷贝的区别分析及实例

浅拷贝(影子克隆):只复制对象的基本类型,对象类型,仍属于原来的引用. 深拷贝(深度克隆):不紧复制对象的基本类,同时也复制原对象中的对象.就是说完全是新对象产生的.
收藏 0 赞 0 分享

C#利用com操作excel释放进程的解决方法

最近利用Microsoft.Office.Interop.Excel.Application读取一个excel后,进程中一直存在excel,在网上找了一阵子,其中有几个解决方案
收藏 0 赞 0 分享
查看更多