Bonjour a tous, voila comme certain on put le voir, je travail sur un prog en vb.net dont je ne suis pas expert, et je rencontre un nouveau problème.

J'aimerais insérer dans une base de donnée sql server 2005 express un entier de plus de 10 chiffres (15 exactement), mais à chaque fois j'ai un message d'erreur "Echec de la conversion de la valeur d'un paramètre d'un double en int32"

Je précise que j'obtiens ce message à partir de 11 entiers et que si j'en met que 10, l'insertion fonctionne.
Au début j'ai pensé à une limitation de sql server, mais quand je fais l'essai de ma requete directement dans sql server tout se passe très bien et je peut insérer mes 15 chiffres.

Pour mon insertion j'utilise une requête paramétré dont voici 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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 
 
        Dim command As SqlCommand = New SqlCommand("Insert into INTERVENANTE  " & _
                    "(NomInt, PrenomInt, AdresseInt, CPInt, VilleInt, TelFixeInt, TelPortInt, SecuSocialeInt )" & _
                    "VALUES " & _
                    "(@nom , @prenom, @adresse, @cp, @ville, @tel, @portable, @secu)")
 
 
        'on affecte aux paramètres de la requète les données à insérer
        command.Parameters.Add(New SqlParameter("@nom", SqlDbType.Text, 50))
        command.Parameters("@nom").Value = TXTnomnvint.Text
 
        command.Parameters.Add(New SqlParameter("@prenom", SqlDbType.Text, 50))
        command.Parameters("@prenom").Value = TXTprenomnvint.Text
 
        command.Parameters.Add(New SqlParameter("@adresse", SqlDbType.Text, 50))
        command.Parameters("@adresse").Value = TXTadrnvint.Text
 
        command.Parameters.Add(New SqlParameter("@cp", SqlDbType.Int, 6))
        command.Parameters("@cp").Value = Int(Val(TXTcpnvint.Text))
 
        command.Parameters.Add(New SqlParameter("@ville", SqlDbType.Text, 30))
        command.Parameters("@ville").Value = TXTvillenvint.Text
 
        command.Parameters.Add(New SqlParameter("@tel", SqlDbType.Int, 10))
        command.Parameters("@tel").Value = Int(Val(TXTtelnvint.Text))
 
        command.Parameters.Add(New SqlParameter("@portable", SqlDbType.Int, 10))
        command.Parameters("@portable").Value = Int(Val(TXTportnvint.Text))
 
        command.Parameters.Add(New SqlParameter("@secu", SqlDbType.Int, 15))
        command.Parameters("@secu").Value = Int(Val(TXTsecunvint.Text))
 
 
BD.ExecuterRequetecommand(command)
voici le code pour l'éxécution de la requète :

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
 
    Public Sub ExecuterRequetecommand(ByVal command As SqlCommand)
 
 
        Try
            'on crèe une connection
            objetconnection = New SqlConnection
            'on donne à la propriété ConnectionString les paramètres de connexion
            objetconnection.ConnectionString = strConn
            'on ouvre la connexion
            objetconnection.Open()
            'on execute la requete contenu par l'objet command 
            command.Connection = objetconnection
            command.ExecuteNonQuery()
            'Catch ex As Exception
            'Throw ex
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        Finally
            If Not (ObjetConnection Is Nothing) Then ObjetConnection.Close()
        End Try
    End Sub
merci pour votre aide

@++
dubidon