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

dadibarca23 Messages postés 67 Date d'inscription mercredi 3 octobre 2012 Statut Membre Dernière intervention 6 octobre 2019 - Modifié le 19 nov. 2018 à 14:33
dadibarca23 Messages postés 67 Date d'inscription mercredi 3 octobre 2012 Statut Membre Dernière intervention 6 octobre 2019 - 19 nov. 2018 à 23:04
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

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
19 nov. 2018 à 18:29
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.
0
dadibarca23 Messages postés 67 Date d'inscription mercredi 3 octobre 2012 Statut Membre Dernière intervention 6 octobre 2019
19 nov. 2018 à 23:04
merci
0
dadibarca23 Messages postés 67 Date d'inscription mercredi 3 octobre 2012 Statut Membre Dernière intervention 6 octobre 2019
19 nov. 2018 à 23:03
merci
0
Rejoignez-nous