IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Requete parametrée c#


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 66
    Par défaut Requete parametrée c#
    Bonsoir!
    jessai d'executé une requete paramétrée mais j'obtiens une erreur.
    voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    public List<Brouillard> RechercheBrouillard2(FiltreDate filtreDate, object date)
            {
                try
                {
                    var cmd = new MySqlCommand("", Connection);
                    cmd.Parameters.Add(new MySqlParameter("@cum", MySqlDbType.Int64));
                    cmd.Parameters["@cum"].Value = 0;
                    cmd.CommandText =
                        "select mvt_date, reference, motif, recette, depense, cumul from ( select mvt_date, reference, motif, recette, depense, @cum := @cum + recette - depense as cumul, periode, mvt_id, rang from vue cross join (select  @cum:=0) as x ) as y";
                    var where = "";
                    switch (filtreDate)
                    {
                        case FiltreDate.Annee:
                            if (string.IsNullOrWhiteSpace(where))
                                where = string.Format(" where Year(m.mvt_date) = {0}", (double)date);
                            else
                                where += string.Format(" and  Year(m.mvt_date)  = {0}", (double)date);
                            break;
                        case FiltreDate.EntreAnnee:
                            var rangei = (RangeEntier)date;
                            if (string.IsNullOrWhiteSpace(where))
                                where = string.Format(" where Year(m.mvt_date) between {0} and {1}", rangei.Debut, rangei.Fin);
                            else
                                where += string.Format(" and Year(m.mvt_date) between {0} and {1}", rangei.Debut, rangei.Fin);
                            break;
                        case FiltreDate.EntreJour:
                            var ranged = (RangeDate)date;
                            if (string.IsNullOrWhiteSpace(where))
                                where = string.Format(" where m.mvt_date between '{0:yyyy-MM-dd}' and '{1:yyyy-MM-dd}'", ranged.Debut, ranged.Fin);
                            else
                                where += string.Format(" and m.mvt_date between '{0:yyyy-MM-dd}' and '{1:yyyy-MM-dd}'", ranged.Debut, ranged.Fin);
                            break;
                        case FiltreDate.EntreMois:
                            var rangem = (RangeDate)date;
                            if (string.IsNullOrWhiteSpace(where))
                                where = string.Format(" where m.mvt_date between '{0:yyyy-MM-dd}' and '{1:yyyy-MM-dd}'", rangem.Debut.Value.FirstDayOfMonth(), rangem.Fin.Value.LastDayOfMonth());
                            else
                                where += string.Format(" and m.mvt_date between '{0:yyyy-MM-dd}' and '{1:yyyy-MM-dd}'", rangem.Debut.Value.FirstDayOfMonth(), rangem.Fin.Value.LastDayOfMonth());
                            break;
                        case FiltreDate.Jour:
                            if (string.IsNullOrWhiteSpace(where))
                                where = string.Format(" where m.mvt_date = '{0:yyyy-MM-dd}'", (DateTime)date);
                            else
                                where += string.Format(" and m.mvt_date = '{0:yyyy-MM-dd}'", (DateTime)date);
                            break;
                        case FiltreDate.Mois:
                            var rangems = new RangeDate() { Debut = ((DateTime)date).FirstDayOfMonth(), Fin = ((DateTime)date).LastDayOfMonth() };
                            if (string.IsNullOrWhiteSpace(where))
                                where = string.Format(" where m.mvt_date between '{0:yyyy-MM-dd}' and '{1:yyyy-MM-dd}'", rangems.Debut.Value.FirstDayOfMonth(), rangems.Fin.Value.LastDayOfMonth());
                            else
                                where += string.Format(" and m.mvt_date between '{0:yyyy-MM-dd}' and '{1:yyyy-MM-dd}'", rangems.Debut.Value.FirstDayOfMonth(), rangems.Fin.Value.LastDayOfMonth());
                            break;
                    } 
                    var order = "";
                    cmd.CommandText += where;
                    order="order by mvt_id, rang";
                    cmd.CommandText += order;
                    Connection.Open();
                    var reader = cmd.ExecuteReader();
                    var rest = new List<Brouillard>();
                    while (reader.Read())
                    {
                        var brouillard = new Brouillard();
                        brouillard.Date = reader.GetDateTime(0);
                        brouillard.Ref = reader.GetString(1);
                        brouillard.Motif = reader.GetString(2);
                        brouillard.MontantR = reader.GetInt64(3);
                        brouillard.MontantD = reader.GetInt64(4);
                        brouillard.SoldeC = reader.GetInt64(5);
                        rest.Add(brouillard);
                    }
                    Connection.Close();
                    return rest;
                }
                catch (MySqlException e)
                {
                    Console.WriteLine(e);
                }
                Connection.Close();
                return null;
            }
    mais quand je l'execute il me donne cette erreur
    Nom : erreursql.PNG
Affichages : 452
Taille : 42,7 Ko
    NB: la requête marche parfaitement dans l’éditeur de code MySql.
    J'utilise WPF, MySql.
    quelqu'un pourrait-il m'aider SVP.

  2. #2
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 66
    Par défaut
    Merci j'ai trouvé la solution en passant par une procedure stockée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    public List<Brouillard> RechercheBrouillard2(FiltreDate filtreDate, object date)
            {
                try
                {
                    var cmd = new MySqlCommand("pcd_cumul", Connection);
                    cmd.CommandType = CommandType.StoredProcedure;
                    if (FiltreDate.EntreMois != FiltreDate.Toutes) 
                    { 
                    var rangem = (RangeDate)date;
                    cmd.Parameters.Add(new MySqlParameter("date1", MySqlDbType.DateTime));
                    cmd.Parameters.Add(new MySqlParameter("date2", MySqlDbType.DateTime));
                    cmd.Parameters["date1"].Value = rangem.Debut.Value.FirstDayOfMonth();
                    cmd.Parameters["date2"].Value = rangem.Fin.Value.LastDayOfMonth();
                    }
     
                    Connection.Open();
                    var reader = cmd.ExecuteReader();
                    var rest = new List<Brouillard>();
                    while (reader.Read())
                    {
                        var brouillard = new Brouillard();
                        brouillard.Date = reader.GetDateTime(0);
                        brouillard.Ref = reader.GetString(1);
                        brouillard.Motif = reader.GetString(2);
                        brouillard.MontantR = reader.GetInt64(3);
                        brouillard.MontantD = reader.GetInt64(4);
                        brouillard.SoldeC = reader.GetInt64(5);
                        rest.Add(brouillard);
                    }
                    Connection.Close();
                    return rest;
                }
                catch (MySqlException e)
                {
                    Console.WriteLine(e);
                }
                Connection.Close();
                return null;
            }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. vb et excell: données provenant d'une bd, requete parametrée
    Par cari dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 02/02/2007, 21h38
  2. Requete parametré a affiché
    Par kaiser59 dans le forum ASP
    Réponses: 7
    Dernier message: 01/02/2007, 14h12
  3. Requete parametrée par un formulaire
    Par kimar dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 12/07/2006, 16h42
  4. Requete parametrée avec CristalReport de VB6?
    Par bonsam dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 13/12/2005, 09h22
  5. Requete parametrée TADOQuery
    Par cdlr27 dans le forum Bases de données
    Réponses: 3
    Dernier message: 01/05/2004, 18h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo