Pb de mise a jour

[Résolu]
Signaler
Messages postés
16
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
4 avril 2009
-
Messages postés
16
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
4 avril 2009
-
Bonsoir a tous,
je suis novice en vb 2005 et mon probleme est le suivant je developpe une application de gestion de stock et j'ai une erreur au niveau de la mise a jour de ma table PRODUIT lorsque je saisi une nouvelle COMMANDE.Le code que j'utilise est place dans mon bouton VALIDER et est comme suit:
  'creation d'une nouvelle ligne avec les données des textbox
        dtr = dts.Tables("Produit_cmd").NewRow
        dtr("PRO_num") = Me.PC_num.SelectedValue
        dtr("FRS_num") = Me.PC_frsCB.SelectedValue
        dtr("PCMD_date") = Me.PCMD_dateDTP.Value
        dtr("PCMD_qtecmd") = Me.PC_qteTxt.Text

        'ajout de la ligne dans le DataSet
        dts.Tables("Produit_cmd").Rows.Add(dtr)

        'création et exécution du commandbuilder
        'pour mettre à jour le DataAdapter
        cmdb = New OleDb.OleDbCommandBuilder(dta)

        'mise à jour des données du DataAdapter
        'à partir du commandbuilder
        dta.Update(dts, "Produit_cmd")

        'on vide le dataset pour le recréer avec
        'les nouvelles données
        dts.Clear()
        dta.Fill(dts, "Produit_cmd")
        dtt = dts.Tables("Produit_cmd")

        'mise à jour de la datagrid

        PCDGV.DataSource = dts.Tables("Produit_cmd")

        'aller au début du fichier
        rownum = 0

        'affichage des données dans les texbox
        Me.PC_num.Text = dtt.Rows(rownum).Item("PRO_num")
        Me.PC_frsCB.Text = dtt.Rows(rownum).Item("FRS_num")
        Me.PCMD_dateDTP.Text = dtt.Rows(rownum).Item("PCMD_date")
        Me.PC_qteTxt.Text = dtt.Rows(rownum).Item("PCMD_qtecmd")

     
        sql2 = "update produit SET PRO_qteinit=PRO_qteinit " & PC_qteTxt.Text & "  where PRO_desig = '" & PC_num.SelectedText & "'"
        Try
            cnx.Open()
            Dim up As New OleDb.OleDbCommand(sql2, cnx)
            up.ExecuteNonQuery()
            cnx.Close()
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
        cnx.Close()

A l'execution, il y a aucune mise a jour lorsque je clique sur mon bouton valider.
Merci de bien vouloir m'aider.

4 réponses

Messages postés
16
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
4 avril 2009

Oui c'etait une partie de mon probleme mais j'ai pu corriger l'autre probleme il s'agissait de l'ouverture et de la fermeture de ma base
Merci encore.
       sql2 = "update produit SET
PRO_qteinit=PRO_qteinit + " & PC_qteTxt.Text & "  where PRO_desig
= '" & PC_num.SelectedText & "'"
        Try
           <strike> cnx.Open()</strike>
            Dim up As New OleDb.OleDbCommand(sql2, cnx)
            up.ExecuteNonQuery()
            <strike>cnx.Close()</strike>
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
        cnx.Close()
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
Salut,

Essaye ta requête comme cela :

sql2 = "update produit SET PRO_qteinit= '" & PC_qteTxt.Text & "' where PRO_desig = '" & PC_num.SelectedText & "'"

En partant du principe que PC_num.SelectedText est bien un type String et non, Integer ou long ou double...enfin tu as compris....

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Messages postés
16
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
4 avril 2009

Merci beaucoup pour ta reponse
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
Salut,

Ok, mais, c'était bien le problème ou pas ?

A+
Exploreur

 Linux a un noyau, Windows un pépin