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 65
| using System;
using System.Collections.Generic;
using System.Data;
using System.Data.OleDb;
using System.Diagnostics;
using System.Text;
using System.Windows.Forms;
namespace Gestion_Brasserie
{
/// <summary>
/// Classe servant de lien entre les formulaires et la base de données.
/// </summary>
/// <remarks>
/// Cette classe permet la connexion du formulaire avec la base de données
/// au travers d'un dataset dont la requête est déterminée par les boutons d'options.
/// Elle est appelée avec deux arguments qui sont la requête SQL et le nom donné au dataset.
/// </remarks>
class ConnexionBase
{
public OleDbDataAdapter monAdapter;
private DataSet _monDataset;
public DataSet monDataset
{
get
{
return _monDataset;
}
}
//Constructeur de la classe
public ConnexionBase(string requete, string nomData)
{
Console.WriteLine("Path base =" + MonProfil.cheminBaseDonnées);
OleDbConnection connection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;" +
@"Data source=" + CheminBaseDonnées.ToString());
OleDbCommand maRequete = new OleDbCommand(requete, connection);
maRequete.CommandTimeout = 15;
monAdapter = new OleDbDataAdapter(requete, connection);
_monDataset = new DataSet();
try
{
connection.Open();
Console.WriteLine("Connexion réussie " + nomData + " !");
monAdapter.Fill(monDataset, nomData);
#if DEBUG
if (_monDataset.Tables[nomData].Rows.Count == -1)
{
string sMsg = "La table '" + nomData + "' n'existe pas !\r\n";
Debug.Assert(false, sMsg);
}
#endif
_monDataset = monDataset;
}
catch (Exception ex)
{
MessageBox.Show("Erreur lors de la connexion à la base de données !\r" + ex.Message + "\r\n" + ex.StackTrace, nomData, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
finally
{
connection.Close();
}
}
}
} |
Partager