Salut,
En cliquant sur le bouton "Valider" je veux insérer les données dans la table "Abonnement" or en cliquant sur le bouton il m'affiche ce message d'erreur "Echec de la conversion de la valeur de paramètre d'un String en un Int32". Que dois je faire?
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
 
Imports System.Data.OleDb
Imports System.Data
Imports System.Data.OleDb.OleDbType
Imports System.Data.SqlTypes
'Imports System.Data.Sql
 
Public Class Frmajoutab
    Public sql, sql1 As String
 
    Private Sub Frmajoutab_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'TODO : cette ligne de code charge les données dans la table 'MarchesDataSet.Abonnement'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
        'Me.AbonnementTableAdapter.Fill(Me.MarchesDataSet.Abonnement)
        'TODO : cette ligne de code charge les données dans la table 'MarchesDataSet.Fournisseur'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
        Me.FournisseurTableAdapter.Fill(Me.MarchesDataSet.Fournisseur)
    End Sub
 
    Private Sub Btnvalider_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnvalider.Click
        Dim cn As New OleDb.OleDbConnection
        Dim command As OleDbCommand = New OleDbCommand("insert into Abonnement (Num_abonnement, Lib_abonnement, Date_debut_ab, Date_fin_ab, Montant_ab, Num_frs, Nom_frs) values (@numab, @libab, @Dates, @Datef, @montantab, @numfrs, @Cbxfrs) ")
 
        If Txtnumab.Text = "" Or Txtlibab.Text = "" Or Txtmontantab.Text = "" Or Txtnumfrs.Text = "" Then
            MsgBox("Vous devez saisir des valeurs non nulles.", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly)
            Exit Sub
        End If
        'sql1 = "select count * from Abonnement where Num_abonnement ='" & Txtnumab.Text & "'"
        command.Parameters.Add(New OleDbParameter("@numab", SqlDbType.Text, 50))
        command.Parameters("@numab").Value = Txtnumab.Text
        command.Parameters.Add(New OleDbParameter("@libab", SqlDbType.Text, 255))
        command.Parameters("@libab").Value = Txtlibab.Text
        command.Parameters.Add(New OleDbParameter("@dates", SqlDbType.SmallDateTime))
        command.Parameters("@dates").Value = F_Formatdate(CType(Dates.Text, Date), "dd/mm/yyyy")
        command.Parameters.Add(New OleDbParameter("@datef", SqlDbType.SmallDateTime))
        command.Parameters("@datef").Value = F_Formatdate(CType(Datef.Text, Date), "dd/mm/yyyy")
        command.Parameters.Add(New OleDbParameter("@montantab", SqlDbType.Money, 15))
        command.Parameters("@montantab").Value = Txtmontantab.Text
        command.Parameters.Add(New OleDbParameter("@numfrs", SqlDbType.Int, 10))
        command.Parameters("@numfrs").Value = Txtnumfrs.Text
        command.Parameters.Add(New OleDbParameter("@cbxfrs", SqlDbType.Text, 50))
        command.Parameters("@cbxfrs").Value = Cbxfrs.Text
        Try
            cn.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source=C:\Marches.mdb"
            cn.Open()
            command.Connection = cn
            command.ExecuteNonQuery()
            MsgBox("Votre opération a été effectuée avec succès.", MsgBoxStyle.Information + MsgBoxStyle.OkOnly)
        Catch ex As Exception
            'MsgBox("Le numéro d'abonnement existe déjà")
            MessageBox.Show(ex.Message)
        Finally
            If Not (cn Is Nothing) Then
                cn.Close()
            End If
        End Try
        Me.Close()
        Frmprincipale.Show()
    End Sub
End Class