Problème d’enregistrement base de donné accès vb.net

Signaler
Messages postés
71
Date d'inscription
mercredi 3 octobre 2012
Statut
Membre
Dernière intervention
6 octobre 2019
-
Messages postés
71
Date d'inscription
mercredi 3 octobre 2012
Statut
Membre
Dernière intervention
6 octobre 2019
-
Bonjour, mes amis com ta vous
j’espère tous va bien

jai un probleme il ma dit toujours meme probleme

erreur de syntaxe (opérateur absent) dans l'expression

 Sub saveooredoosending()
        Dim sql As String = "select * from oredo where N=" & Val(NSENDING.Text)
        If con.State() Then con.Close()
        con.Open()
        Dim cmd As New OleDbCommand(sql, con)
        Dim dr As OleDbDataReader
        dr = cmd.ExecuteReader()
        If dr.Read() = True Then
            NSENDING.Text = dr.Item(0).ToString
            num = dr.Item(1).ToString
            solde = dr.Item(2).ToString
            Me.Dtpiker.Value = dr.Item(3).ToString
            TimeOfDays.Text = dr.Item(4).ToString
            riponsseooredoo = dr.Item(5).ToString
            Me.TextBox1.Text = dr.Item(6).ToString
            con.Close()
        Else
            If solde = "" Or num = "" Then
                MessageBox.Show("تأكد من ادخال البيانات ", "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1)

                Exit Sub
            Else
                Try

                    sql = "INSERT INTO oredo(N,client,solde,datte,timme,msgrecu,solderest)" & " values('" & Val(NSENDING.Text) & "','" & num & "','" & solde & "','" & Dtpiker.Value.ToShortDateString & "','" & TimeOfDays.Text & "','" & riponsseooredoo & "','" & TextBox1.Text & "')"
                    Dim cmd2 As New OleDbCommand(sql, con)
                    cmd2.ExecuteNonQuery()
                    con.Close()
                    vieworedo()
                Catch ex As Exception
                    con.Close()
                    MessageBox.Show(ex.Message)
                End Try
            End If
        End If

    End Sub



2 réponses

Messages postés
14788
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
1 mai 2021
155
Bonsoir, déjà appliques cela :
- Active "Option Explicit" et "Option Strict" (propriétés du projet)
- Ensuite, retire l'import automatique de l'espace de nom Microsoft.VisualBasic.

Corriges les erreurs qui apparaissent, et tu aura déjà un code plus propre et moins VB6.
Par exemple, ton
Dim sql As String = "select * from oredo where N=" & Val(NSENDING.Text)

Val -> Int.Parse
Pour passer en chaine -> .ToString()

Et pour tes requêtes, je te recommande de passer par des requêtes paramétrées, cela t'évitera les injections malveillantes et facilitera la relecture de ton code.

Pour ton erreur, sans la ligne concernée, impossible de voir ce qui ne va pas.
Messages postés
71
Date d'inscription
mercredi 3 octobre 2012
Statut
Membre
Dernière intervention
6 octobre 2019

merci
Messages postés
71
Date d'inscription
mercredi 3 octobre 2012
Statut
Membre
Dernière intervention
6 octobre 2019

merci