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

Messages postés
63
Date d'inscription
mercredi 3 octobre 2012
Dernière intervention
21 novembre 2018
-
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



Afficher la suite 

Votre réponse

2 réponses

Messages postés
14322
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
14 décembre 2018
0
Merci
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.
dadibarca23
Messages postés
63
Date d'inscription
mercredi 3 octobre 2012
Dernière intervention
21 novembre 2018
-
merci
Commenter la réponse de NHenry
Messages postés
63
Date d'inscription
mercredi 3 octobre 2012
Dernière intervention
21 novembre 2018
0
Merci
merci
Commenter la réponse de dadibarca23

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.