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
| public class DataAccess
{
/// <summary>
/// Constructeur de la classe DataAccess pour récupérer les données par l'envoi de trois paramètres
/// </summary>
/// <param name="Requete">La requête para lle même, en code SQL avec les alias des paramètres.</param>
/// <param name="Pram">Le tableau de paramètres associé et préparé en amont dans le code.</param>
/// <param name="TypeRQ">Une chaine donant une indication sur le type de résultat attendu. Pour l'instant c'est TB pour une table, SC pour un scalaire</param>
public DataAccess()
{
}
public static DataTable RetournerTable(string Requete, SqlParameter[] Param)
{
return RemplirTable(Requete,Param);
}
public static string RetounerScalaire(string Requete, SqlParameter[] Param)
{
DataTable LaTable = RemplirTable(Requete, Param);
string str = "";
if (LaTable.Rows.Count == 0)
{
str = "";
}
else
{
str = LaTable.Rows[0].ItemArray[0].ToString();
}
return str;
}
/// <summary>
/// Récupération du résultat de la requeête dans une DataTable qui sera analysée en retour dans le constructeur.
/// </summary>
/// <param name="Requete">La requête en dur sous forme de chaine avec les alias des paramètres</param>
/// <param name="Param">Le tableau de paramètres monté en amont</param>
/// <returns></returns>
public static DataTable RemplirTable(string Requete, SqlParameter[] Param)
{
//Récuparation de la chaine de connection dans le fichier de configuration (web.config)
SqlConnection oConnex = new SqlConnection(ConfigurationManager.ConnectionStrings["DataDev"].ConnectionString);
//Définition de la datatable de récupération des données
DataTable Table = new DataTable();
//Exécution de la requête et remplissage de la DataTable pour renvoi
try
{
SqlCommand oCommand = new SqlCommand(Requete);
SqlDataAdapter Adapteur = new SqlDataAdapter(oCommand);
SqlCommandBuilder oCommandBuilder = new SqlCommandBuilder(Adapteur);
oConnex.Open();
oCommand.Connection = oConnex;
oCommand.Parameters.AddRange(Param);
Adapteur.Fill(Table);
}
catch (System.IO.IOException e)
{
Outil.Logage(e.Message);
Outil.Logage(Requete);
//throw;
}
finally
{
oConnex.Close();
}
return Table;
}
} |
Partager