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 :
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
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)
merci pour votre aide
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
@++
dubidon
Partager