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 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216
| class BaseAccess
{
private OleDbConnection cn = new OleDbConnection();
private bool connected = false;
//=====================================================================================================
private string DatabaseName => "Base_Rexx1.accdb";
public bool isConnected => this.connected;
public string pathBase => System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), @"SNCF\Projet REXX");
//================================Constructeurs========================================================
public BaseAccess()
{
if (cn.State == 0)
{
string DatabaseNameL = System.IO.Path.Combine(pathBase, this.DatabaseName);
connexion(DatabaseNameL);
}
}
public BaseAccess(string DatabaseNameL)
{
if (cn.State == 0)
{
connexion(DatabaseNameL);
}
}
//==============================Connexion a la base de données=========================================
private void connexion(string db_name)
{
try
{
cn.ConnectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};", db_name);
cn.Open();
this.connected = true;
//MessageBox.Show("Connected !");
}
catch (Exception e)
{
this.connected = false;
MessageBox.Show(e.Message, "Erreur!!!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
//===============================Fermer la base de données===============================================
public void Close()
{
if (cn.State != 0)
{
cn.Close();
}
}
//=============================Inserer une ligne==============================================================
public List<string> ReadMyData(string data, string table, int index, string l_famille)
{
string queryString = "SELECT " + data + " FROM " + table + " WHERE Famille = '" + l_famille + "'";
List<string> donnees = new List<string>();
if (cn.State != 0)
{
OleDbCommand command = new OleDbCommand(queryString, cn);
OleDbDataReader reader = command.ExecuteReader();
while (reader.Read())
{
donnees.Add(reader.GetString(index));
Console.WriteLine(reader.GetString(0));
}
// always call Close when done reading.
reader.Close();
}
return donnees;
}
public List<string> ReadMyData(string data, string table, int index)
{
string queryString = "SELECT " + data + " FROM " + table;
List<string> donnees = new List<string>();
if (cn.State != 0)
{
OleDbCommand command = new OleDbCommand(queryString, cn);
OleDbDataReader reader = command.ExecuteReader();
while (reader.Read())
{
donnees.Add(reader.GetString(index));
Console.WriteLine(reader.GetString(0));
}
reader.Close();
}
return donnees;
}
public bool existe(int idFamille,string famille,string organe,string table)
{
if(cn.State == 0)
{
cn.Open();
}
string queryString = "SELECT 1 FROM Organe WHERE idFamille = @idFamille AND Famille = @famille AND Abreviation = @organe;";
OleDbCommand cmd = new OleDbCommand();
cmd.CommandText = queryString;
cmd.Connection = cn;
//string queryString = "SELECT FROM " + table + "(Famille,Organe) values (?,?)";
//string queryString = "SELECT 1 FROM " + table + " WHERE idFamille = " + "'@" + idFamille + "' AND Famille = " + "'@" + famille + "' AND Abreviation = " + "'@" + organe + "'";
//cmd.Parameters.Add(new OleDbParameter("@table", table));
cmd.Parameters.Add(new OleDbParameter("@idFamille", idFamille));
cmd.Parameters.Add(new OleDbParameter("@Famille", famille));
cmd.Parameters.Add(new OleDbParameter("@Abreviation", organe));
OleDbDataReader reader = cmd.ExecuteReader();
if (reader.HasRows)
{
//MessageBox.Show("Already exists");
return true;
}
else
{
return false;
}
}
public int getEquipement (string Lieux)
{
int idEquipement;
OleDbCommand cmd = new OleDbCommand();
cmd.CommandText = "SELECT Numero FROM Equipement WHERE Lieux = @lieux;";
//cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = cn;
cmd.Parameters.Add(new OleDbParameter("@lieux", Lieux));
//OleDbDataReader reader = cmd.ExecuteReader();
idEquipement = (int)cmd.ExecuteScalar();
return idEquipement;
}
public void ajouterOrgane(int idFamille,string famille,string abreviation,string table,string description,string planche,string symbole)
{
if(this.existe(idFamille, famille, abreviation, table))
{
//MessageBox.Show("La donnee existe deja dans la base ! ");
}
else
{
string queryString = "INSERT INTO " + table + "(idFamille,Famille,Abreviation,Description,Planche,Symbole) values (?,?,?,?,?,?)";
OleDbCommand command = new OleDbCommand(queryString, cn);
command.Parameters.Add(new OleDbParameter("@idFamille", Convert.ToInt32(idFamille)));
command.Parameters.Add(new OleDbParameter("@Famille", Convert.ToString(famille)));
command.Parameters.Add(new OleDbParameter("@Abreviation", Convert.ToString(abreviation)));
command.Parameters.Add(new OleDbParameter("@Description", Convert.ToString(description)));
command.Parameters.Add(new OleDbParameter("@Planche", Convert.ToString(planche)));
command.Parameters.Add(new OleDbParameter("@Symbole", Convert.ToString(symbole)));
try
{
command.ExecuteNonQuery();
//MessageBox.Show("Data Added");
}
catch (OleDbException ex)
{
MessageBox.Show(ex.Source);
//db.con.Close();
}
}
}
/* public void supprimer(string famille,string organe, string table)
{
if(existe(famille,organe,table))
{
string queryString = "DELETE FROM "+ table + " WHERE Famille = '"+famille+"'AND Organe = '" +organe +"'";
OleDbCommand cmd = new OleDbCommand(queryString,cn);
cmd.ExecuteNonQuery();
}
else
{
MessageBox.Show("L'organe n'existe pas");
}
}*/
//---------------------------------------------------------------------------
// Return une table
//---------------------------------------------------------------------------
public DataTable DataTable(OleDbDataReader objRS)
{
DataTable dt = new DataTable();
dt.Load(objRS);
return dt;
}
//--------------------------------------------------------------------------- |
Partager