none
dataset RRS feed

  • Question

  • svp comment je peux lire le contenu d'une dataset
    voici la methode qui me retourn un dataset"des tarifs " je veux lire le contenu ??
    public double  calculTarif()
            {
                try
                {
                    string SqlQuery;

                    SqlQuery ="SELECT  ab_TARIF.Tarif "+
                               "FROM ab_ABONNE "+
                               " INNER JOIN ab_TARIF ON ab_ABONNE.Tarif = ab_TARIF.Tarif AND  "+
                               " ab_ABONNE.Idab_Journal = ab_TARIF.Idab_Journal AND  " +
                               "ab_ABONNE.Idab_Pays = ab_TARIF.Idab_Pays ";
                    return DBTask.ExecuteDataset(HttpContext.Current.Session["ConStr"].ToString(), CommandType.Text, SqlQuery);
                }
                catch { return null; }
            }
    dimanche 7 septembre 2008 22:56

Réponses

  • Bonjour,

     

    Pour convertir une chaine de caractère en double :

    Code Snippet
    Convert.ToDouble(maChaine)

     

     

     

    Pour récupérer la valeur d'une donnée à la colonne "prix" à la ligne 2 :

     

    Code Snippet
    dataSet.Tables["MaTable"].Rows[i]["prix"]

     

     

     

    Cordialement

     

    jeudi 11 septembre 2008 12:26
    Modérateur

Toutes les réponses

  • BONJOUR,

     

    Votre méthode ne retourne pas un DataSet mais un double...

    Pouvez-vous être plus clair dans votre demande ?

     

    CORDIALEMENT

     

    lundi 8 septembre 2008 21:45
    Modérateur
  • dans la table; le champ tarif est de type char et moi je veux qu'il soit calculer automatiquement .


    je veux lire le contenu du datas et le convertir en double pour en ajouter une valeur
     public DataSet   calculTarif()
            {
                try
                {
                    string SqlQuery;

                    SqlQuery ="SELECT  ab_TARIF.Tarif "+
                               "FROM ab_ABONNE "+
                               " INNER JOIN ab_TARIF ON ab_ABONNE.Tarif = ab_TARIF.Tarif AND  "+
                               " ab_ABONNE.Idab_Journal = ab_TARIF.Idab_Journal AND  " +
                               "ab_ABONNE.Idab_Pays = ab_TARIF.Idab_Pays ";
                    return DBTask.ExecuteDataset(HttpContext.Current.Session["ConStr"].ToString(), CommandType.Text, SqlQuery);
                }
                catch { return null; }
            }


    mardi 9 septembre 2008 16:12
  • Bonjour,

     

    Pour convertir une chaine de caractère en double :

    Code Snippet
    Convert.ToDouble(maChaine)

     

     

     

    Pour récupérer la valeur d'une donnée à la colonne "prix" à la ligne 2 :

     

    Code Snippet
    dataSet.Tables["MaTable"].Rows[i]["prix"]

     

     

     

    Cordialement

     

    jeudi 11 septembre 2008 12:26
    Modérateur
  • Bonjour,

     

    Juste un petit ajout à l'excellente réponse de Gilles Tourreau :

    pour convertir une chaîne de caractères en double, je préfere :

    Double valdouble;

    Boolean ret = Double.TryParse(machaine,out valdouble);

    en cas d'erreur pendant la conversion string ==> double , ret = false ( caractère non numérique...)

    Si aucune erreur, on récupère la valeur en format double dans valdouble ( ne pas oublier le out ...)

     

    Je préfere cette méthode car elle permet d'éviter un "plantage" sec en cas où l'un des caractère de la chaîne est incorrect.

    Il suffit de tester si ret == false au lieu de chercher la bonne exception à utiliser

    TryParse existe pour chacun des types numerique ( Int32,decimal,float....)

     

    http://msdn.microsoft.com/en-us/library/994c0zb1.aspx

    http://msdn.microsoft.com/en-us/library/3s27fasw.aspx

    Le 2ème lien est interessant car il tient compte de la "culture" et du format d'une langue particulière

     

    Bonne journée

     

    PS : les liens correspondent .Net 3.5 mais contiennent un renvoi vers les versions .Net 2.0 et 3.0

    Je préfère les liens américains car je ne sais jamais si les pages ont été traduites en français ( j'ai eu des problèmes aussi bien pour les .Net Framework 3.0 et 3.5 à leur sortiie que pour Sql Server 2005/2008

     

     

    mercredi 17 septembre 2008 15:10