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 :

Erreur fatale durant l'exécution d'une requête c#


Sujet :

C#

  1. #1
    Membre régulier
    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
    Points : 83
    Points
    83
    Par défaut Erreur fatale durant l'exécution d'une requête c#
    Bonjour à tous. j'ai un problème, j'utilise la structure MVVM en WPF et j’exécute une requête afin de remplir mon datagrid.

    Seulement qu'a l’exécution de la requête j'obtiens cette erreur: "Additional information: Fatal error encountered during command execution."

    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
    public List<Brouillard> RechercherBrouillaurd(FiltreDate filtreDate, object date)
            {
                var cmd = new MySqlCommand("", Connection);
                cmd.CommandText =
                    "SELECT M.mvt_date, COALESCE( R.cr_ref, D.cD_ref ) AS reference, COALESCE( R.cr_motif, D.cD_motif ) AS motif, COALESCE( R.cr_montant, 0 ) AS recette, COALESCE( D.cd_montant, 0 ) AS depense, @cumul := @cumul + COALESCE( R.cr_montant, 0 ) - COALESCE( D.cd_montant, 0 ) AS cumul FROM Mouvement M CROSS JOIN ( SELECT @cumul:=0 ) tmp LEFT JOIN entree E ON M.mvt_id = E.mvt_id LEFT JOIN carnetrecette R ON E.cr_id = R.cr_id LEFT JOIN sortie S ON M.mvt_id = S.mvt_id LEFT JOIN carnetdepense D ON S.cd_id = D.cd_id ";
                var where = "";
                switch (filtreDate)
                {
                    case FiltreDate.Annee:
                        if (string.IsNullOrWhiteSpace(where))
                            where = string.Format(" where Year(m.mvt_date) = {0}", (int)date);
                        else
                            where += string.Format(" and  Year(m.mvt_date)  = {0}", (int)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;
                }
                cmd.CommandText += where;
                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;
            }
    et l'erreur survient a ce niveau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var reader = cmd.ExecuteReader();
    quelqu'un pourrait-il m'aider SVP

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    déjà il faut mettre un try catch et gérer le cas d'une erreur (car même une fois que tu auras corrigé ton bug ca pourrait encore arriver)

    et tu mets un point d'arrêt dans le catch pour regarder le message d'erreur (surement une erreur de syntaxe dans la requete, qu'il convient de tester avant de la mettre dans le programme par ailleurs)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre régulier
    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
    Points : 83
    Points
    83
    Par défaut
    Pol63 j'ai apercu ceci:
    "Parameter '@cumul' must be defined".

  4. #4
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Met un point d'arrêt sur la ligne Connection.Open();, et poste ici le contenu de cmd.CommandText (qui est sur la ligne juste au-dessus).
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  5. #5
    Membre régulier
    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
    Points : 83
    Points
    83
    Par défaut
    DotNetMatt.
    voici la ligne obtenu:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cmd.CommandText = "SELECT M.mvt_date, COALESCE( R.cr_ref, D.cD_ref ) AS reference, COALESCE( R.cr_motif, D.cD_motif ) AS motif, COALESCE( R.cr_montant, 0 ) AS recette, COALESCE( D.cd_montant, 0 ) AS depense, @cumul := @cumul + COALESCE( R.cr_montant, 0 ) - COALESCE( D.cd_montant, 0 ) AS cumul FROM Mouvement M CROSS JOIN ( SELECT @cumul:=0 ) tmp LEFT JOIN entree E ON M.mvt_id = E.mvt_id LEFT JOIN carnetrecette R ON E.cr_id = R.cr_id LEFT JOIN sortie S ON M.mvt_id = S.mvt_id LEFT JOIN carnetdepense D ON S.cd_id = D.cd_id
    mais au par avant quand j'avais le point d'arret sur le catch jobtenais ceci dans l'exception:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Parameter '@cumul' must be defined

  6. #6
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Ok, tu as inclu un @ dans ta requête :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT M.mvt_date, COALESCE(R.cr_ref, D.cD_ref) AS reference, COALESCE(R.cr_motif, D.cD_motif) AS motif, COALESCE(R.cr_montant, 0) AS recette, COALESCE(D.cd_montant, 0) AS depense, @cumul := @cumul + COALESCE(R.cr_montant, 0) - COALESCE(D.cd_montant, 0) AS cumul
    FROM Mouvement M
    CROSS JOIN
        (SELECT @cumul:=0) tmp
    LEFT JOIN entree E ON M.mvt_id = E.mvt_id
    LEFT JOIN carnetrecette R ON E.cr_id = R.cr_id
    LEFT JOIN sortie S ON M.mvt_id = S.mvt_id
    LEFT JOIN carnetdepense D ON S.cd_id = D.cd_id
    On peut d'ailleurs ce demander pourquoi est-ce que tu as mis cette commande CROSS JOIN vu que tmp n'est pas utilisé
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  7. #7
    Membre régulier
    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
    Points : 83
    Points
    83
    Par défaut
    DotNetMatt.
    c'etait pour faire le produit cartésien des lignes des table recette et dépense.
    Comment puis-je résoudre mon problème alors.

  8. #8
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    A minima, enlève le "@" de ta requête. Si ta requête devient invalide, tu peux aussi supprimer toute la clause CROSS JOIN en attendant de l'implémenter correctement.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  9. #9
    Membre régulier
    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
    Points : 83
    Points
    83
    Par défaut
    j'ai enlevé le "@", j'obtient erreur de syntaxe SQL.
    j'ai enlevé le CROSS JOIN toujours erreur de syntaxe SQL

  10. #10
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    J'avais pas fait attention, tu as un autre endroit où tu utilises le "@" dans le SELECT cette fois. Supprime ce qui est souligné :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT M.mvt_date, COALESCE(R.cr_ref, D.cD_ref) AS reference, COALESCE(R.cr_motif, D.cD_motif) AS motif, COALESCE(R.cr_montant, 0) AS recette, COALESCE(D.cd_montant, 0) AS depense, @cumul := @cumul + COALESCE(R.cr_montant, 0) - COALESCE(D.cd_montant, 0) AS cumul
    FROM Mouvement M
    LEFT JOIN entree E ON M.mvt_id = E.mvt_id
    LEFT JOIN carnetrecette R ON E.cr_id = R.cr_id
    LEFT JOIN sortie S ON M.mvt_id = S.mvt_id
    LEFT JOIN carnetdepense D ON S.cd_id = D.cd_id
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  11. #11
    Membre régulier
    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
    Points : 83
    Points
    83
    Par défaut
    voici la nouvelle requête que j'ai utilisé comme tu me l'a demandé.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT M.mvt_date, COALESCE( R.cr_ref, D.cD_ref ) AS reference, COALESCE( R.cr_motif, D.cD_motif ) AS motif, COALESCE( R.cr_montant, 0 ) AS recette, COALESCE( D.cd_montant, 0 ) AS depense, ( COALESCE( R.cr_montant, 0 ) - COALESCE( D.cd_montant, 0 )) as cumul   FROM Mouvement M  LEFT JOIN entree E ON M.mvt_id = E.mvt_id LEFT JOIN carnetrecette R ON E.cr_id = R.cr_id LEFT JOIN sortie S ON M.mvt_id = S.mvt_id LEFT JOIN carnetdepense D ON S.cd_id = D.cd_id
    il n'y a plus d'erreur mais le résultat obtenu n'est pas ce que je voulais.
    la requette ne fait pas la somme des lignes comme je le voulais.

  12. #12
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par al-faddi Voir le message
    il n'y a plus d'erreur mais le résultat obtenu n'est pas ce que je voulais.
    la requette ne fait pas la somme des lignes comme je le voulais.
    Donc on a résolu ton problème Maintenant la syntaxe SQL n'est pas bonne car elle ne te donne pas ce que tu veux, mais le problème n'est plus lié à C#.

    Tu peux poster ta requête sur le forum Bases de données / MySQL / Requêtes en expliquant ce que tu veux faire. N'oublie pas de marquer cette discussion comme résolue en utilisant le bouton "Résolu" en bas de cette page.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  13. #13
    Membre régulier
    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
    Points : 83
    Points
    83
    Par défaut
    la syntaxe SQL que j'avais au debut marchais parfaitement quand je l'executais dans la base.
    et quand je suis venus la mettre dans mon code c# c'est à ce momment que l'erreur est apparu.

    voici un exemple de ce que j'aimerais obtenir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    |recette|depense|Solde|
    |30000|             |30000|
    |        |5000      |25000  |
    |20000|             |45000|
    |5000|              |50000|
    |         |15000    |35000|

  14. #14
    Membre régulier
    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
    Points : 83
    Points
    83
    Par défaut
    non non.
    voila ma requete de depart:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT M.mvt_id, M.mvt_date, COALESCE( R.cr_ref, D.cD_ref ) AS reference, COALESCE( R.cr_motif, D.cD_motif ) AS motif, COALESCE( R.cr_montant, 0 ) AS recette, COALESCE( D.cd_montant, 0 ) AS depense, @cumul := @cumul + COALESCE( R.cr_montant, 0 ) - COALESCE( D.cd_montant, 0 ) AS cumul FROM Mouvement M CROSS JOIN ( SELECT @cumul:=0 ) tmp LEFT JOIN entree E ON M.mvt_id = E.mvt_id LEFT JOIN carnetrecette R ON E.cr_id = R.cr_id LEFT JOIN sortie S ON M.mvt_id = S.mvt_id LEFT JOIN carnetdepense D ON S.cd_id = D.cd_id
    dans la base j'obtenais le resultat que j'e voulais à savoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    |recette|depense|Solde|
    |30000|             |30000|
    |        |5000      |25000  |
    |20000|             |45000|
    |5000|              |50000|
    |         |15000    |35000|
    et dc jui revenu mettre la même requete dans mon code c# et c'est à ce moment qu'est apparu l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Parameter '@cumul' must be defined
    sinon la requete coté MySql elle marchait bien.

  15. #15
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Ca marchait peut-être directement dans la base, mais la syntaxe que tu utilises n'est pas appropriée pour MySQL, d'où le fait que ca ne marchait pas en C#.

    Donc va sur le forum MySQL pour revoir la syntaxe de ta requête (pour que ca soit adapté à MySQL). Ensuite ca devrait fonctionner. Si avec la nouvelle syntaxe ca ne marche toujours pas, tu peux revenir poster ici avec la nouvelle syntaxe.

    [EDIT]
    Précision : le @ permet d'identifier les paramètres de la requête pour SQL Server. Il est donc interprété par C# comme un paramètre SQL et non comme une variable. MySQL doit avoir une syntaxe particulière pour définir ca, ou même pour s'en passer.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  16. #16
    Membre régulier
    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
    Points : 83
    Points
    83
    Par défaut
    c'est compris

  17. #17
    Membre régulier
    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
    Points : 83
    Points
    83
    Par défaut
    DotNetMatt
    je reviens vers vous. ils me disent qu'il est difficile de corriger une requête qui marche déjà.
    serait-il possible de déclarer cette variable coté c# ?

  18. #18
    Membre confirmé Avatar de Julien698
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2013
    Messages
    237
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2013
    Messages : 237
    Points : 473
    Points
    473
    Par défaut
    Comme tu utilises "COALESCE" avec seulement deux paramètres, essayes de le remplacer par "IFNULL" peut être que ça fonctionnera mieux.

  19. #19
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par al-faddi Voir le message
    je reviens vers vous. ils me disent qu'il est difficile de corriger une requête qui marche déjà.
    serait-il possible de déclarer cette variable coté c# ?
    Je suis loin d'être expert avec MySQL vu ses piètres qualités. Je pense que le mieux dans ce cas, ca serait de mettre ta requête dans une procédure stockée, comme ca la variable ne causera plus de problème. Depuis C# il te suffira d'appeler la procédure stockée en lui passant des paramètres si besoin pour la clause WHERE.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

Discussions similaires

  1. Erreur lors de l'exécution d'une requête avec ADOquery
    Par doolar dans le forum Bases de données
    Réponses: 2
    Dernier message: 03/05/2008, 13h26
  2. [PostgreSQL] [PostGreSQL] Obtention d'une erreur lors de l'exécution d'une requête
    Par cbombabill dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 06/03/2008, 11h56
  3. Réponses: 6
    Dernier message: 18/11/2007, 17h09
  4. Erreur d'exécution d'une requête sql
    Par marceline dans le forum Oracle
    Réponses: 2
    Dernier message: 11/07/2006, 13h12
  5. [MySQL] Message d'erreur à l'exécution d'une requête
    Par leloup84 dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 28/02/2006, 14h06

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