1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
class ConnexionDao : IConnexion
{
private DbConnection m_SqlCnx = null;
private static ConnexionDao s_Instance;
private static object s_InstanceLocker = new object();
private ConnectionStringSettings m_CnxStringSettings;
public ConnectionStringSettings CnxStringSettings
{
get { return m_CnxStringSettings; }
set { m_CnxStringSettings = value; }
}
// Singleton
public static ConnexionDao Instance
{
get
{
lock (s_InstanceLocker)
{
if (s_Instance == null)
{
s_Instance = new ConnexionDao();
}
return s_Instance;
}
}
}
// Cette méthode créé une connexion à la BDD et la renvoit
public DbConnection GetSqlConnection()
{
DbProviderFactory factory =
DbProviderFactories.GetFactory(CnxStringSettings.ProviderName);
if (m_SqlCnx == null)
{
m_SqlCnx = factory.CreateConnection();
}
m_SqlCnx.ConnectionString = CnxStringSettings.ConnectionString;
if (m_SqlCnx.State == System.Data.ConnectionState.Closed)
{
m_SqlCnx.Open();
}
return m_SqlCnx;
}
public void CloseConnection()
{
if (this.m_SqlCnx != null)
{
if (this.m_SqlCnx.State != System.Data.ConnectionState.Closed)
{
this.m_SqlCnx.Close();
}
}
}
} |
Partager