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

2020-01-05 09:50:15于海丽
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();
    }
  }
}