none
Erreur de conversion de type de données varchar a dicimal lorsque en recupere data RRS feed

  • Question

  • bonjour ,

    j'ai un erreur de conversion de type varchar ed de type decimal quand j'ai besoin de recepere la data ,bon j'ai utlise driver odbc ave un database sql server ,ce ca mon code :

     cmd.Parameters.AddWithValue("besals@", BesalsTextBox.Text)
            cmd.Parameters.AddWithValue("brulohn@", odbcType.Decimal).Value = Convert.ToDecimal(BrulohnTextBox.Text)

            cmd.Parameters.AddWithValue("wochstd@", odbcType.Decimal).Value = Convert.ToDecimal(StdlohnTextBox.Text)
                cmd.Parameters.AddWithValue("eintr@", EintrTextBox.Text)

    l'erreur au niveau : cmd.ExecuteNonQuery()

    aidez moi svp

    merci

    lundi 1 novembre 2010 22:17

Réponses

  • Bonjour,

    Dans ce cas, c'est à vous de tester si la chaîne saisie dans le TextBox n'est pas vide (la méthode Convert.ToDecimal() déclenche une exception si la chaîne de caractère présente dans le TextBox est vide).

        If String.IsNullOrEmpty(BrulohnTextBox.Text) = False Then
          cmd.Parameters.AddWithValue("brulohn@", Convert.ToDecimal(BrulohnTextBox.Text))
        Else
          cmd.Parameters.AddWithValue("brulohn@", Convert.ToDecimal(0))
        End If
    

    Cordialement


    Gilles TOURREAU - MVP C# - MCPD Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5 - MCTS ADO .NET 3.5 / SQL Server 2008 Developper - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    • Proposé comme réponse Alex Petrescu lundi 8 novembre 2010 10:05
    • Marqué comme réponse Alex Petrescu vendredi 12 novembre 2010 09:29
    dimanche 7 novembre 2010 16:42
    Modérateur

Toutes les réponses

  • Bonjour,

    De préférence donner l'erreur exacte et la valeur que l'on tente de convertir. Cela ne serait pas tout simplement un séparateur décimal incorrect ? ("." au lieu de "," ou inversement)

    Cela n'a probablement rien à voir avec l'erreur elle-même mais accessoirement l'utilisation de Odbc est-elle obligatoire ? Généralement on utilise plutôt SqlClient.


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    mardi 2 novembre 2010 09:57
    Modérateur
  • Bonjour,

    Corrigez ces lignes :

    cmd.Parameters.AddWithValue("brulohn@", Convert.ToDecimal(BrulohnTextBox.Text))
    

    ainsi que

    cmd.Parameters.AddWithValue("wochstd@", Convert.ToDecimal(StdlohnTextBox.Text))
    
    

    Cordialement


    Gilles TOURREAU - MVP C# - MCPD Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5 - MCTS ADO .NET 3.5 / SQL Server 2008 Developper - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    mardi 2 novembre 2010 20:48
    Modérateur
  • Bonjour,

     

    Wissemm, avez-vous réussi à corriger votre code à l’aide des conseils de M. Tourreau ?

     

    Cordialement,

    Alex

    ________________

    Publiez un article sur MSDN !

    Windows Phone 7

    Astuces pour Visual Studio 2010

    XNA – Développement jeux vidéo

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, WPF

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

     


    Suivez MSDN sur Twitter 

    vendredi 5 novembre 2010 11:59
  • bonjour,

    non mais cette linge sa pose pas de probleme car avec odbc il faut qui t'ecris comme sa :

    cmd.Parameters.AddWithValue("brulohn@"
    , Convert.ToDecimal(BrulohnTextBox.Text))
    pas comme sql :
    cmd.Parameters.AddWithValue(" @ brulohn" , Convert.ToDecimal(BrulohnTextBox.Text))
    car quand je ajoute un new data sa fonctionne bien memme si le textbox de type decimal vide il ajoute automatiqument (0.00)
    mais quand j'ai modifier le data il oblige de ecrire (0.00),et quand j'ecris pas il me donne un erreur !!!
    merci ,d'avance
    samedi 6 novembre 2010 11:39
  • bonjour,pour Monsier Alex

    "Cela n'a probablement rien à voir avec l'erreur elle-même mais accessoirement l'utilisation de Odbc est-elle obligatoire ? Généralement on utilise plutôt SqlClient."

    oui je suis obliger de utlise odbc technologie par ce que j'arrive pas de trouve une solution pour sql server en network ,car quand je vende cet programme pour le client ,je besoin toujour de changer le connection string ,normal car il a pas ma meme nom de server et l'nstance qui j'ai ,donc j'ai suis obligatoire de change au odbc, et si tu as une solution avec sql server "sql client" dit a moi car je cherche bcp et je test tjour mais sa fonctinne pas malheuresment ,

    merci d'avance :)

    samedi 6 novembre 2010 11:59
  • Bonjour,

    Dans ce cas, c'est à vous de tester si la chaîne saisie dans le TextBox n'est pas vide (la méthode Convert.ToDecimal() déclenche une exception si la chaîne de caractère présente dans le TextBox est vide).

        If String.IsNullOrEmpty(BrulohnTextBox.Text) = False Then
          cmd.Parameters.AddWithValue("brulohn@", Convert.ToDecimal(BrulohnTextBox.Text))
        Else
          cmd.Parameters.AddWithValue("brulohn@", Convert.ToDecimal(0))
        End If
    

    Cordialement


    Gilles TOURREAU - MVP C# - MCPD Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5 - MCTS ADO .NET 3.5 / SQL Server 2008 Developper - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    • Proposé comme réponse Alex Petrescu lundi 8 novembre 2010 10:05
    • Marqué comme réponse Alex Petrescu vendredi 12 novembre 2010 09:29
    dimanche 7 novembre 2010 16:42
    Modérateur
  • Bonjour,

     

    Wissemm, pouvez-vous nous dire quel est l’état de votre projet ? Est-ce que la vérification proposée par M. Tourreau vous a aidé ?

     

    Cordialement,

    Alex

    ________________

    Publiez un article sur MSDN !

    Windows Phone 7

    Astuces pour Visual Studio 2010

    XNA – Développement jeux vidéo

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, WPF

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

     


    Suivez MSDN sur Twitter 

    mardi 9 novembre 2010 09:14