none
récupérer données datagridview RRS feed

  • Question

  • Bonjour,

    j'ai une datagridview qui contient 2 colonnes et 2 lignes  (Reçu1, TypeReg1 ) et (Reçu2,TypeReg2)

    Je veux savoir comment récupérer les données des 2 lignes et les mettre dans une table "Ticket"?

     

    samedi 29 mai 2010 14:23

Réponses

  • Bonjour,

    C'est le double quotes qui posent problème :
    Voici la requête corrigée :

    Dim cmd As New SqlCommand("insert into Ticket (TypeReg1,Reçu1) values (" & sal & ", " & sal2 & ")", cnx)
    

    Cordialement


    Gilles TOURREAU - MVP C# - MCP - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    • Marqué comme réponse marwa580 dimanche 30 mai 2010 20:26
    dimanche 30 mai 2010 19:48
    Modérateur
  • Bonjour,

    Dim case0_0 As String
    Dim case0_1As String
    Dim case1_0 As String
    Dim case1_1 As String
    
    case0_0 = monDataGridView.Rows(0).Cells(0).Value
    case0_1 = monDataGridView.Rows(0).Cells(1).Value
    case1_0 = monDataGridView.Rows(1).Cells(0).Value
    case1_1 = monDataGridView.Rows(1).Cells(1).Value
    

    Cordialement


    Gilles TOURREAU - MVP C# - MCP - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    samedi 29 mai 2010 17:40
    Modérateur

Toutes les réponses

  • Bonjour,

    Pour récupérer la valeur de la case 0,0.

    Dim case0_0 As String
    case0_0 = monDataGridView.Rows(0).Cells(0).Value

    Après il suffit tout simplement de faire une requête INSERT ou UPDATE...

    Cordialement


    Gilles TOURREAU - MVP C# - MCP - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    samedi 29 mai 2010 15:04
    Modérateur
  • j'ai essayé ça et ça marche pas

     

     Dim val, val1, val2, val3 As String
     
     val = DataGridView1.SelectedRows(0).Cells(0).Value.ToString
     val1 = DataGridView1.SelectedRows(0).Cells(1).Value.ToString
     val2 = DataGridView1.SelectedRows(1).Cells(0).Value.ToString
     val3 = DataGridView1.SelectedRows(1).Cells(1).Value.ToString
    
     Dim cmd2 As New SqlCommand("insert into Ticket(Rendu,Reçu1,Reçu2,TypeReg1,TypeReg2)values('" & TextRendre.Text & "','" & val & "','" & val2 & "','" & val1 & "','" & val3 & "' )", cnx)
     Dim affectedrows2 As Integer = cmd2.ExecuteNonQuery()

     

     

    Pouvez vous me le corriger?

     

    samedi 29 mai 2010 15:08
  • Bonjour,

    ça marche pas
    Quoi donc ? Lorsque vous postez un message dans les forums Microsoft, partez du principe que les autres personnes (y compris moi !) ne connaissons rien de votre projet ! Nous savons pas ce qu'est la table Ticket (colonnes et types de données),...etc ! Soyez le plus explicite possible !

    Cordialement


    Gilles TOURREAU - MVP C# - MCP - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    samedi 29 mai 2010 15:11
    Modérateur
  • Bonjour,

    j'ai utilisé ce code pour récupérer les données du datagridview et les mettre dans un table.mais une exception est déclenché à la ligne :

     val = DataGridView1.SelectedRows(0).Cells(0).Value.ToString

     

    exception: L'index était hors limites. Il ne doit pas être négatif et doit être inférieur à la taille de la collection. Nom du paramètre : index

    samedi 29 mai 2010 15:16
  • Bonjour,

    C'est déjà plus clair !
    SelectedRows ne fonctionne que si une ligne est sélectionnée. Si aucune ligne est sélectionnée, l'accès à la ligne 0 lève une exception. Dans votre cas, n'utilisez pas SelectedRows mais Rows. Comme dans mon précédent post :

    Dim case0_0 As String
    case0_0 = monDataGridView.Rows(0).Cells(0).Value
    

    Cordialement


    Gilles TOURREAU - MVP C# - MCP - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    samedi 29 mai 2010 17:27
    Modérateur
  • Bonjour, mais mon but est de récupérer les données des 2 ligne et les mettre dans une table dans une seule ligne
    samedi 29 mai 2010 17:34
  • Bonjour,

    Dim case0_0 As String
    Dim case0_1As String
    Dim case1_0 As String
    Dim case1_1 As String
    
    case0_0 = monDataGridView.Rows(0).Cells(0).Value
    case0_1 = monDataGridView.Rows(0).Cells(1).Value
    case1_0 = monDataGridView.Rows(1).Cells(0).Value
    case1_1 = monDataGridView.Rows(1).Cells(1).Value
    

    Cordialement


    Gilles TOURREAU - MVP C# - MCP - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    samedi 29 mai 2010 17:40
    Modérateur
  • Bonjour, Une autre erreur est déclenché :( exception: Syntaxe incorrecte vers 'ESPECE'. 'ESPECE' est la valeur de TypeReg2.il est de type 'varchar(50)'
    samedi 29 mai 2010 18:31
  • les parameters de type varchar doivent étre inserer entre des simples quotes.
    samedi 29 mai 2010 23:44
  • Bonsoir,

    Pouvez vous me corriger le code SVP?

    j'ai pas compris ce que vous voulez dire

    dimanche 30 mai 2010 00:03
  • Bonjour,

    Pouvez-vous nous montrer le code modifié qui pose problème ?

    Cordialement


    Gilles TOURREAU - MVP C# - MCP - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    dimanche 30 mai 2010 17:51
    Modérateur
  • Imports System.Data
    Imports System.Data.SqlClient
    Public Class Form1
     Private Sub ESPECE_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ESPECE.Click
      TextRecu.Text = ""
      TextBox1.Text = "ESPECE"
     End Sub
    
     Private Sub CARTEB_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CARTEB.Click
      TextBox1.Text = "Carte Bancaire"
      TextRecu.Text = TextNet.Text
     End Sub
    
     Private Sub CHEQUE_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CHEQUE.Click
      TextBox1.Text = "CHEQUE"
     End Sub
    
     Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
      Me.DataGridView1.Rows.Insert(0, New String() {"'" & TextBox1.Text & "'", "'" & TextRecu.Text & "'"})
      Dim a, r As Integer
      a = Val(TextRecu.Text)
      r = a - Val(TextNet.Text)
    
      If r < 0 Then
       TextRecu.Text = -CStr(r)
       TextNet.Enabled = True
    
       TextNet.Text = -CStr(r)
       TextNet.Enabled = False
       TextRecu.Text = -CStr(r)
    
      End If
    
    
     End Sub
    
     Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
    
      Dim cnx As New SqlConnection("Data Source=PC\SQLEXPRESS;Initial Catalog=Fournisseur;Integrated Security=True;Pooling=False;")
      cnx.Open()
      Dim sal, sal2 As String
    
      sal = DataGridView1.Rows(0).Cells(0).Value.ToString
    
      sal2 = DataGridView1.Rows(0).Cells(1).Value.ToString
    
      Dim cmd As New SqlCommand("insert into Ticket (TypeReg1,Reçu1) values ('" & sal & "', '" & sal2 & "')", cnx)
      cmd.ExecuteNonQuery()
     End Sub
    
     
    End Class
    dimanche 30 mai 2010 18:30
  • Bonjour,

    Pouvez-vous ajoutez cette ligne suivante :

    ...
    Dim cmd As New SqlCommand("insert into Ticket (TypeReg1,Reçu1) values ('" & sal & "', '" & sal2 & "')", cnx) MessageBox.Show(cmd.CommandText)
    ...

    Et nous dire le résultat affiché ?

    Cordialement


    Gilles TOURREAU - MVP C# - MCP - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    dimanche 30 mai 2010 19:21
    Modérateur
  • Bonsoir,

    Un messageBox est affiché: Insert into Ticket(TypeReg1,Reçu1)values("ESPECE","2222").

     

    dimanche 30 mai 2010 19:42
  • Bonjour,

    C'est le double quotes qui posent problème :
    Voici la requête corrigée :

    Dim cmd As New SqlCommand("insert into Ticket (TypeReg1,Reçu1) values (" & sal & ", " & sal2 & ")", cnx)
    

    Cordialement


    Gilles TOURREAU - MVP C# - MCP - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    • Marqué comme réponse marwa580 dimanche 30 mai 2010 20:26
    dimanche 30 mai 2010 19:48
    Modérateur