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

dadibarca23
Messages postés
71
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
71
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
14927
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 mai 2022
162
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
71
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
71
Date d'inscription
mercredi 3 octobre 2012
Statut
Membre
Dernière intervention
6 octobre 2019

19 nov. 2018 à 23:03
merci
0