public override ArticlePhilatélique SQLLireArticle(OleDbConnection m_bd, int p_numero) { ArticlePhilatélique Article = null; try { using (BdReader bdr = new BdReader(m_bd, "SELECT numero, motif, date_parution, prix_payé, " + "coin, valeur_timbre, nombre_timbres, taille_forme " + "FROM Articles " + "WHERE numero=?", p_numero)) { if (!bdr.Read() && !bdr.IsDBNull(1) && !bdr.IsDBNull(4) && !bdr.IsDBNull(5) && !bdr.IsDBNull(6) && !bdr.IsDBNull(7)) { return(null); } Article = new BlocDeCoin( bdr.GetInt32(0), bdr.GetString(1), bdr.GetDateTimeOuNull(2), bdr.GetDoubleOuNull(3), (Coin)bdr.GetInt32(4), bdr.GetDouble(5), bdr.GetInt32(6), bdr.GetString(7)); } } catch { } return(Article); }
/// <summary> /// Renvoie tous les artiles. /// </summary> /// <returns>Toutes les productions.</returns> public static IEnumerable <ArticlePhilatélique> ToutesLesArticles() { using (BdReader bdr = new BdReader(m_bd, "SELECT type, numero " + "FROM Articles " + "ORDER BY type")) { while (bdr.Read()) { // Obtenir la bonne fabrique IFabriqueCommande f = LesFabriques.FabriqueDe(Type.GetType(bdr.GetString(0))); // Obtenir la commande sql du type à chercher CommandeLireSQL cmdLireArticle = (CommandeLireSQL)f.CréerCommandeSQLPourLireArticle(); // Obtenir l'article avec la bonne commande sql ArticlePhilatélique article = cmdLireArticle.ExecuterSQLLireArticle(m_bd, bdr.GetInt32(1)); yield return(article); } } }