IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Windows Discussion :

Mise à jour SQL depuis un DATAGRIDVIEW et TXTBOX


Sujet :

Développement Windows

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 316
    Par défaut Mise à jour SQL depuis un DATAGRIDVIEW et TXTBOX
    Bonjour à tous,

    Je ne vois pas de solution facile et rapide pour mettre à jour ma base de données SQL2008 STD.

    Condition:
    J'ai une FORM qui contient 2 Datagridview (l'un sous l'autre) et correctement chargés.
    Le premier (DG_Planning) contient une agrégation de données pour ne donner qu'une ligne de quantité totale à produire.
    Le second (DG_detail) contient le détail de la ligne sélectionnée dans DG_Planning, soit 1 ou x lignes (on peut pas savoir).
    Lors d'un click ou changement de selection dans DG_Planning, DG_Detail est actualisé.

    Sur le coté, j'ai un TXTbox vide. L'utilisateur doit sélectionner une ligne de DG_Planning puis renseigner le Txtbox (alphanumérique) et enfin valider.
    Le fait de valider doit ajouter la valeur de mon TXTBOX autant de fois qu'il y a de ligne dans DG_Detail (puisque ma base de données est ainsi faite).

    Le problème est que je ne vois pas comment aborder cet update..

    Un peu de code:

    Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
        Private Sub InitializeDataGridView_DG_Planning()
     
            Try
                ' Remplissage du DataGridView.
                With Me.DG_Planning
     
                    .AutoGenerateColumns = True
     
                    bindingPlanning.DataSource = GetData("SELECT UP,CM,NOMENCLATURE,LIBELLE,QUALITE,TAUX_RC,DIAM,[DATE] " & _
                                                        " ,MICRO,CAST(PCHARGE as FLOAT) / 10 as PCHARGE, SUM(NBC) AS NBC, Retard " & _
                                                        " FROM dbo.PDC01_Preparation_Charge " & _
                                                        " GROUP BY UP,CM,NOMENCLATURE,LIBELLE,QUALITE,TAUX_RC,DIAM,[DATE],MICRO,PCHARGE,RETARD " & _
                                                        " ORDER BY Retard DESC ")
                    .DataSource = bindingPlanning
     
                    .RowTemplate.Height = 30
     
                    .BorderStyle = BorderStyle.Fixed3D
     
                End With
     
            Catch ex As SqlException
                MsgBox(ex.Message, MsgBoxStyle.Exclamation, "PDC Planning")
                System.Threading.Thread.CurrentThread.Abort()
            End Try
        End Sub

    Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     Private Sub InitializeDataGridView_DG_Detail()
     
            Try
     
                With Me.DG_Detail
     
                    .AutoGenerateColumns = True
     
                    bindingDetail.DataSource = GetData("SELECT [DATE] ,[MICRO],[OF],[MPN],[PCHARGE] / 10 as PCHARGE, [NBC] " & _
                                                        " FROM PDC01_Preparation_Charge WHERE [DATE] = '" & tb_date.Text & "' AND MICRO = '" & tb_Micro.Text & "' ")
                    .DataSource = bindingDetail
     
                    .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells
     
                    .BorderStyle = BorderStyle.Fixed3D
     
                End With
     
            Catch ex As SqlException
                MsgBox(ex.Message, MsgBoxStyle.Exclamation, "PDC Planning")
                System.Threading.Thread.CurrentThread.Abort()
            End Try
    END SUB

    Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
        Private Shared Function GetData(ByVal sqlCommand As String) _
                As DataTable
     
            Try
                Dim connectionString As String = _
                            "Integrated Security=SSPI;Persist Security Info=False;" _
                            & "Initial Catalog= " & Base & " ;Data Source= " & DataSource & ""
     
                Dim myConnection As SqlConnection = _
                    New SqlConnection(connectionString)
     
     
                Dim command As New SqlCommand(sqlCommand, myConnection)
                Dim adapter As SqlDataAdapter = New SqlDataAdapter()
                adapter.SelectCommand = command
     
                Dim table As New DataTable
                table.Locale = System.Globalization.CultureInfo.InvariantCulture
                adapter.Fill(table)
     
                Return table
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
     
     
        End Function

    Merci pour vos idées!

  2. #2
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 316
    Par défaut
    Merci de m'avoir lu!
    La réponse pour ce sujet :

    Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    con.Open()
     
            Try
     
                Dim i As Integer = 0
                'Récuperer ligne par ligne
                For i = 0 To (DG_Detail.RowCount - 1)
     
                    Dim Requete As String = " UPDATE dbo.PDC_VPrepaCharge SET DateCoupe = GETDATE(), NumCM = '" & tb_NumCou.Text & "', In_Out = 1 " & _
                                            " WHERE [Date] = '" & Me.DG_Detail.Item(0, i).Value & "' AND [OF] = '" & Me.DG_Detail.Item(2, i).Value & "' " & _
                                            " AND MPN = '" & Me.DG_Detail.Item(3, i).Value & "' "
     
                    Dim Commande As New SqlCommand(Requete, cnn1)
     
                    Commande.ExecuteNonQuery()
     
                Next
     
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
     
            con.Close()

    Bon code !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Boucle de mise à jour SQL
    Par ChrisMan dans le forum Langage SQL
    Réponses: 3
    Dernier message: 29/05/2007, 15h30
  2. Mise à jour table depuis autre table
    Par dual77 dans le forum Requêtes
    Réponses: 9
    Dernier message: 04/01/2007, 21h01
  3. Mise à jour SQL Server 7
    Par dev-man dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 06/10/2006, 14h51
  4. Problème de mise à jour SQL
    Par Cyphen dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 28/06/2006, 11h24
  5. [VB.NET 2.0] Mise à jour contrôle depuis xml
    Par nicolb dans le forum ASP.NET
    Réponses: 2
    Dernier message: 20/04/2006, 09h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo