示例#1
0
        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);
        }
示例#2
0
 /// <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);
         }
     }
 }