Original Question:Pourquoi une erreur de dépassement arithmétique est-elle générée lors de la conversion numérique en type de données numérique dans ADO.NET?
Pourquoi ai-je une erreur de dépassement arithmétique conversion numérique à numérique de type de données dans le code ADO.NET en utilisant le type de données lorsque l'argent montant est supérieur à 999,999,99 $?
Tout comme la question dit ... J'ai un peu de code ADO.net dans la couche d'accès aux données qui parle à une base de données Sql Server 2008. Il y a une colonne Montant dans la table qui est du type de données "Money". Le code fonctionne très bien lors de l'insertion d'un record avec un montant < 1000000 $, mais jette cette erreur lorsque la quantité est> = 1000000 $:
« Erreur de dépassement arithmétique conversion numérique type de données numériques »
je peux exécuter manuellement t-sql par rapport à la base de données en mettant à jour le montant à une valeur supérieure à 1 000 000 $ afin que la base de données puisse sauf le montant exact ... qu'est-ce qui est à l'origine de la SqlCommand qui provoque l'erreur?
MyCommand.Parameters.Add(New SqlParameter("@Amount", SqlDbType.Money))
If IsNothing(Amount) Then
MyCommand.Parameters("@Amount").Value = Convert.DBNull
Else
MyCommand.Parameters("@Amount").Value = Amount
End If
C'était un titre vraiment long ..... –
Quel type de données est la variable Amount? –
Type de la variable Montant = Décimal – codethrift