none
Mettre a jour une base de données a partir de changement dans un dataGridView RRS feed

  • Question

  • Bonjour, j'ai actuellement une base de données que j'ouvre dans mon programme avec un dataGridView, à partir de ce dataGridView, je souhaiterai que les modifications faites dans ce dernier soient prises en compte et que cela affecte ma base de données.

    Par exemple, j'ai un champ Etat dans mon dataGridView, il est a pour valeur false au début, j'aimerai que quand je mette true a la place de false, que la base de données en soit également affectée. Je sais pas si jj'ai bien était compris :s


    Cordialement, maxkun ;)
    jeudi 15 décembre 2011 10:33

Réponses

  • Bonjour,

     

    Pour mettre à jour une base de donnée via datagridview je vous propose cette méthode:

     

     

     Private Sub save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles save.Click
       Dim valeurbool As Boolean = Convert.ToBoolean(myDataSet.Tables(0).Rows(DataGridView1.CurrentRow.Index)("code"))
    

    cmd = New SqlCommand("Update table1 Set field1 = @field1 where code ='" & designaton & "'", con) cmd.Parameters.AddWithValue("@field1", myDataSet.Tables(0).Rows(DataGridView1.CurrentRow.Index)("field1").ToString()) If con.State = ConnectionState.Closed Then con.Open() Try cmd.ExecuteNonQuery() ' bind the data Catch ex As SqlException End Try

     


    Vous editez la valeur dans une ligne donnée dans le datagridview

    Mais dans le cas des valeurs booléennes 

    Donc la valeur récupéré serait :

     

     Dim valeurbool As Boolean = Convert.ToBoolean(myDataSet.Tables(0).Rows(DataGridView1.CurrentRow.Index)("code"))
    

     


    Et ça dépend forcément du type du champs dans la base de donnée.

     

    Cordialement

     

     

     


    Best Regards...Please mark as answer if my post is helpful

    • Modifié YosrJ vendredi 16 décembre 2011 11:51
    • Proposé comme réponse Ciprian Duduiala vendredi 16 décembre 2011 15:11
    • Marqué comme réponse Ciprian Duduiala mardi 20 décembre 2011 07:57
    vendredi 16 décembre 2011 09:03

Toutes les réponses

  • Bonjour,

    Je crois qu'il faut tout d'abord spécifier si vous travaillez en mode connecté ou déconnecté; en mode déconnecté vous pouvez faire l'update automatiquement au moment où vous quittez l'application ou bien au moment du déclenchement d'un évenement, sinon en mode connecté vous pourrez déclarer un objet command et lui associer une requête sql adaptée au champs que vous voudriez changer.

    C'est une solution de débutants, puisque je le suis :D j'espère que j'ai répondu à votre question..

    jeudi 15 décembre 2011 12:32
  • Bonjour, je n'ai pas résolu le problème mais je l'ai contourné en utilisant des checkbox car cela peut correspondre à mes attentes, je ne sais pas comment faire en revanche pour notre problème...


    Cordialement, maxkun ;)
    vendredi 16 décembre 2011 07:07
  • Bonjour,

     

    Pour mettre à jour une base de donnée via datagridview je vous propose cette méthode:

     

     

     Private Sub save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles save.Click
       Dim valeurbool As Boolean = Convert.ToBoolean(myDataSet.Tables(0).Rows(DataGridView1.CurrentRow.Index)("code"))
    

    cmd = New SqlCommand("Update table1 Set field1 = @field1 where code ='" & designaton & "'", con) cmd.Parameters.AddWithValue("@field1", myDataSet.Tables(0).Rows(DataGridView1.CurrentRow.Index)("field1").ToString()) If con.State = ConnectionState.Closed Then con.Open() Try cmd.ExecuteNonQuery() ' bind the data Catch ex As SqlException End Try

     


    Vous editez la valeur dans une ligne donnée dans le datagridview

    Mais dans le cas des valeurs booléennes 

    Donc la valeur récupéré serait :

     

     Dim valeurbool As Boolean = Convert.ToBoolean(myDataSet.Tables(0).Rows(DataGridView1.CurrentRow.Index)("code"))
    

     


    Et ça dépend forcément du type du champs dans la base de donnée.

     

    Cordialement

     

     

     


    Best Regards...Please mark as answer if my post is helpful

    • Modifié YosrJ vendredi 16 décembre 2011 11:51
    • Proposé comme réponse Ciprian Duduiala vendredi 16 décembre 2011 15:11
    • Marqué comme réponse Ciprian Duduiala mardi 20 décembre 2011 07:57
    vendredi 16 décembre 2011 09:03
  • Merci pour le tuyau ;)
    Cordialement, maxkun ;)
    vendredi 16 décembre 2011 11:14
  • Bonjour, 

    Excusez moi de vous rappeler un souvenir très lointain mais, je pense que ma réponse se trouve chez vous. Je débute avec le VB.NET 2010 et je butte depuis 3 semaines sur le problème de mise à jour d'une BD ACCESS par l'intermédiaire d'un DATAGRIDVIEW et UN CHECKBOX. 

    J'ai en suite crée un DataGridView avec une colonne checkbox pour la sélection 
    des factures réglées. Et pour m'assurer que j'ai choisi le bon enregistrement j'affiche
    dans un messagebox le montant de la facture concernée seulement, quand je coche un checkbox
    n'importe lequel, il ne s'affiche que le montant de la première ligne du DataGridView.

    Pouvez vous m'aider à la mise à jour de la bdd à partir des cases cochées. 


    dimanche 15 mars 2015 12:57