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

VB.NET Discussion :

conversion en double invalide


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Homme Profil pro
    génie logiciel
    Inscrit en
    Mars 2012
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : génie logiciel

    Informations forums :
    Inscription : Mars 2012
    Messages : 113
    Points : 21
    Points
    21
    Par défaut conversion en double invalide
    bonjour,
    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
     
    con.ConnectionString = "Data Source=MEHDI-PC\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=eco"
            Dim com As New SqlCommand
            Dim d As New Date
            d = CDate(MaskedTextBox1.Text)
            Try
                cn.Open()
                com.Connection = con
                com = New SqlCommand("insert into COMPTEURS(N_ORD_ECO,SOUS_QUART,CIL,QUART,NOM_CLT,AV_ACC,PORTE,RUE,N_CPT_DEPO,N_SERIE,DER_IND_LU,TP_CAL,MAR_DEPO,N_CPT_POS,IND_DEPO,DATE_DEPO,CAL_POS,MAR_POS) values('" + ComboBox1.SelectedItem + "','" + TextBox1.Text + "','" + Val(TextBox2.Text) + "','" + TextBox3.Text + "','" + TextBox4.Text + "','" + TextBox5.Text + "','" + Val(TextBox6.Text) + "','" + TextBox7.Text + "','" + Val(TextBox8.Text) + "','" + Val(TextBox9.Text) + "','" + Val(TextBox10.Text) + "','" + Val(TextBox11.Text) + "','" + TextBox12.Text + "','" + Val(TextBox13.Text) + "','" + Val(TextBox14.Text) + "','" + d + "','" + Val(TextBox16.Text) + "','" + TextBox17.Text + "''" + RichTextBox1.Text + "');", con)
                com.ExecuteNonQuery()
                MsgBox("Ajout avec succes")
            Catch ex As Exception
                MessageBox.Show("Erreur lors du rapatriement des données : " & ex.ToString())
            Finally
                cn.Close()
            End Try
    l'erreur générée est la suivante:
    la conversion de la chaîne "insert into compteurs(N_ORD_ECO" en type 'DOUBLE' n'est pas valide.
    je mentionne que N_ORD_ECO est une clé primaire que je récupère depuis un combobox
    merci

  2. #2
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2012
    Messages : 58
    Points : 57
    Points
    57
    Par défaut
    Salut Mehdi,

    tu devrais peut-etre rajouter :
    ComboBox1.SelectedItem.tostring

    Bonne journée

    Madfox48

  3. #3
    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 742
    Points
    9 742
    Billets dans le blog
    3
    Par défaut
    Essaie d'enlever les guillemets simples autour de la valeur de ComboBox1 pour obtenir ceci :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    values(" + ComboBox1.SelectedItem + ",
    Ca passe mieux ou pas ?

    [EDIT] : on ne le dira jamais assez, les requêtes paramétrées solutionnent bien des problèmes !

  4. #4
    Membre à l'essai
    Homme Profil pro
    génie logiciel
    Inscrit en
    Mars 2012
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : génie logiciel

    Informations forums :
    Inscription : Mars 2012
    Messages : 113
    Points : 21
    Points
    21
    Par défaut
    Le .TOSTring me souligne la ligne et les simples cote n'ont rien changé.
    autre précision le champs est varchar sur la base de données.

  5. #5
    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 742
    Points
    9 742
    Billets dans le blog
    3
    Par défaut
    Peux-tu STP poster le DDL de ta table COMPTEURS ?

  6. #6
    Membre à l'essai
    Homme Profil pro
    génie logiciel
    Inscrit en
    Mars 2012
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : génie logiciel

    Informations forums :
    Inscription : Mars 2012
    Messages : 113
    Points : 21
    Points
    21
    Par défaut
    je ne vous suis pas comment je dois procéder

  7. #7
    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 742
    Points
    9 742
    Billets dans le blog
    3
    Par défaut
    DDL c'est pour Data Definition Language. En gros ce sont les instructions CREATE, ALTER, etc. utilisées en SQL.

    Ce que je veux faire c'est créer chez moi une table COMPTEURS, à l'identique, afin de pouvoir tester ton code et voir ce qui cloche. Mais pour cela, j'ai besoin de l'instruction CREATE en SQL qui me permettra d'avoir la même structure que chez toi.

    [EDIT] : Peux-tu aussi donner des exemples de valeur que tu as dans ComboBox1.SelectedItem ?

    Je soupçonne que le champ N_ORD_ECO ait un type numeric dans ta base, et que le format ne soit pas correct...

  8. #8
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    As-tu essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '" + ComboBox1.SelectedValue.ToString+ "'
    ?

    Si tu copies la requête avant l'insertion avec les données passées, et que tu l’exécutes dans ton SGBD, fonctionne-t-elle ?

  9. #9
    Membre expérimenté
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Points : 1 745
    Points
    1 745
    Par défaut
    Bonjour,

    Je pense que ce qui cloche c'est la concaténation de chaines avec des valeurs numériques + objets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ComboBox1.SelectedItem + "','" + TextBox1.Text + "','" + Val(TextBox2.Text)
    Sauf erreur de ma part, ça correspond à Object + String + Double ...

    De plus, il est conseillé d'utiliser le & plutôt que le + comme opérateur de concaténation.

    Bon courage.
    Eb.

  10. #10
    Membre à l'essai
    Homme Profil pro
    génie logiciel
    Inscrit en
    Mars 2012
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : génie logiciel

    Informations forums :
    Inscription : Mars 2012
    Messages : 113
    Points : 21
    Points
    21
    Par défaut
    Pour DOTNETMATT mon ddl est le suivant:
    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
     
    create table COMPTEURS (
       N_ORD_ECO            char(8)              not null,
       SOUS_QUART           char(50)             null,
       CIL                  bigint               null,
       QUART                char(50)             null,
       NOM_CLT              char(60)             null,
       AV_ACC               char(100)            null,
       PORTE                int                  null,
       RUE                  char(60)             null,
       N_CPT_DEPO           bigint               null,
       N_SERIE              bigint               null,
       DER_IND_LU           bigint               null,
       N_CPT_POS            bigint               null,
       IND_DEPO             bigint               null,
       DATE_DEPO            datetime             null,
       CAL_POS              smallint             null,
       OBS                  text                 null,
       constraint PK_COMPTEURS primary key nonclustered (N_ORD_ECO)
    )
    désolé pour le retard.

  11. #11
    Membre à l'essai
    Homme Profil pro
    génie logiciel
    Inscrit en
    Mars 2012
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : génie logiciel

    Informations forums :
    Inscription : Mars 2012
    Messages : 113
    Points : 21
    Points
    21
    Par défaut
    j'ai résolu le problème au cas où des gens tombent sur le même pétrin 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
     
    con.ConnectionString = "Data Source=MEHDI-PC\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=eco"
            Dim com As New SqlCommand
            Dim d As New Date
            d = CDate(MaskedTextBox1.Text)
            Try
                con.Open()
                com.Connection = con
                com = New SqlCommand("insert into COMPTEURS(N_ORD_ECO,SOUS_QUART,CIL,QUART,NOM_CLT,AV_ACC,PORTE,RUE,N_CPT_DEPO,N_SERIE,DER_IND_LU,TP_CAL,MAR_DEPO,N_CPT_POS,IND_DEPO,DATE_DEPO,CAL_POS,MAR_POS) values('" & ComboBox1.SelectedItem.ToString & "','" & TextBox1.Text & "','" & Val(TextBox2.Text) & "','" & TextBox3.Text & "','" & TextBox4.Text & "','" & TextBox5.Text & "','" & Val(TextBox6.Text) & "','" & TextBox7.Text & "','" & Val(TextBox8.Text) & "','" & Val(TextBox9.Text) & "','" & Val(TextBox10.Text) & "','" & Val(TextBox11.Text) & "','" & TextBox12.Text & "','" & Val(TextBox13.Text) & "','" & Val(TextBox14.Text) & "','" & d & "','" & Val(TextBox16.Text) & "','" & TextBox17.Text & "''" & RichTextBox1.Text & "');", con)
                com.ExecuteNonQuery()
                MsgBox("Ajout avec succes")
            Catch ex As Exception
                MessageBox.Show("Erreur lors du rapatriement des données : " & ex.ToString())
            Finally
                cn.Close()
            End Try
    Merci pour tout.

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

Discussions similaires

  1. La Conversion String-->Double
    Par jejermoa dans le forum Langage
    Réponses: 3
    Dernier message: 07/05/2007, 09h55
  2. Conversion de doubles
    Par Arnard dans le forum Général Java
    Réponses: 2
    Dernier message: 05/05/2006, 11h04
  3. Decoupage d'une string et conversion en double
    Par TraPpeur dans le forum C++
    Réponses: 2
    Dernier message: 15/02/2006, 23h36
  4. Conversion Réel - Double
    Par gchazelle dans le forum Fortran
    Réponses: 3
    Dernier message: 21/11/2005, 12h37
  5. Conversion en double et notation scientifique
    Par bert24 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 23/09/2005, 13h26

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