using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;
namespace DbLib
{
/// <summary>
/// 数据库类
/// </summary>
public class Database : IDisposable
{
/// <summary>
/// 受保护的数据库连接
/// </summary>
protected SqlConnection connection = null;
/// <summary>
/// 受保护的数据库连接字符串
/// </summary>
protected string connString = string.Empty;
/// <summary>
/// 构造函数,初始化数据库连接
/// </summary>
/// <param name="sqlConnection">数据库连接</param>
public Database(SqlConnection sqlConnection)
{
this.connection = sqlConnection;
Open();
this.connString = sqlConnection.ConnectionString;
}
/// <summary>
/// 构造函数,初始化数据库连接字符串
/// </summary>
/// <param name="strConn">数据库连接字符串</param>
public Database(string strConn)
{
this.connString = strConn;
Open();
}
/// <summary>
/// 公共方法:打开数据库连接
/// </summary>
public void Open()
{
try
{
if (connection == null)
{
connection = new SqlConnection(connString);
}
if (connection.State != ConnectionState.Open)
{
connection.Open();
}
}
catch (Exception ex)
{
throw new Exception(ex.ToString());
}
}
/// <summary>
/// 公共方法:关闭数据库连接
/// </summary>
public void Close()
{
if ((connection != null) && (connection.State != ConnectionState.Closed))
{
connection.Close();
}
}
/// <summary>
/// 公共方法:获取数据库连接
/// </summary>
/// <returns></returns>
public SqlConnection GetConnection()
{
return connection;
}
/// <summary>
/// 公共方法:获取数据库连接字符串
/// </summary>
/// <returns></returns>
public string GetConnString()
{
return connString;
}
/// <summary>
/// 公共方法:释放非托管资源;实现IDisposable接口
/// </summary>
public void Dispose()
{
if (connection != null)
{
connection = null;
GC.Collect();
}
}
}
}