Bonjour, désolé pour le titre, je commence à avoir l'esprit qui chauffe .

Je suis sur que c'est très très con, mais je ne m'en sors pas. Voilà le souci :

J'ai une table
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
/*==============================================================*/
/* Table : MP                                                   */
/*==============================================================*/
create table MP
(
   CODE_MP              int not null auto_increment,
   CODE_DEVIS           int not null,
   CODE_TYPE_MP         int not null,
   NOM_MP               varchar(50),
   MONTANT_MP           decimal,
   MARGE_MP             decimal,
   primary key (CODE_MP)
);
Et je désire faire une requête toute bête avec un petit calcul :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
select SUM(MONTANT_MP), SUM(MONTANT_MP * MARGE_MP) from MP where CODE_DEVIS=unentier
Bref, la requête fonctionne très bien, je l'ai testée soys phpmyadmin.
Mais avec vb.net, dès que le résultat n'est pas entier, l'affichage est impossible.
Je suppose que c'est le point "." faisant office de virgule sous mysql qui vient poser problème sous vb.net, sauf que je ne vois pas comment résoudre ce problème.
Voilà le 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
Dim totalmpm As Decimal
        Dim totalmpnm As Decimal
 
        Dim cnxmp As MySqlConnection
        cnxmp = New MySqlConnection(M_PAP.cnx)
        cnxmp.Open()
        Dim cmdmp As MySqlCommand
        cmdmp = cnxmp.CreateCommand()
        cmdmp.CommandText = "select SUM(MONTANT_MP), SUM(MONTANT_MP * MARGE_MP) from MP where CODE_DEVIS=" & M_PAP.codedevis & ""
        Dim drmp As MySqlDataReader
        drmp = cmdmp.ExecuteReader()
        drmp.Read()
 
        totalmpnm = drmp.GetValue(0)
        totalmpm = drmp.GetValue(1)
 
        cnxmp.Close()
 
        T_MP_Non.Text = totalmpnm
        T_MP_oui.Text = totalmpm
Si "totalmpnm" et "totalmpm" sont entier, aucun souci, ils s'affichent dans les textbox.
En revanche si l'un des deux comporte un ".", c'est à dire n'est pas entier, alors plus rien ne fonctionne.

Une idée pour régler ce problème ?

Merci d'avance