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

VB.NET Discussion :

Valeurs dans DataGridView


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 114
    Par défaut Valeurs dans DataGridView
    Bonjour à tous,

    Voilà, j'ai un DataGridView et j'aimerais pourvoir récupérer les valeurs de chaque cellules afin de créer une commande SQL pour les insérer dans une autre base de données.

    Je ne sais pas si c'est la meilleur façon de procéder, mais c'est la seule idée qu'il m'est venue à l'esprit.

    Je parcours donc chaque ligne et chaque colone puis je récupère les valeurs. Mais le problème concerne la fin de la commande SQL ou je dois mettre une parenthèse fermer et un point virgule.

    Je m'explique, voici mon code :

    Code : 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
    Dim i, j AsInteger
    Dim txt, nulle AsString
    txt = "INSERT INTO pslog VALUES ('"
    nulle = "NULL"
    For i = 0 ToMe.DataGridView.Rows.Count - 1
    For j = 0 ToMe.DataGridView.Rows(0).Cells.Count - 1
    IfMe.DataGridView.Rows(i).Cells(j).Value.ToString = ""Then
    txt = txt & "'NULL',"
    Else
    txt = txt & Me.DataGridView.Rows(i).Cells(j).Value.ToString & "','"
    EndIf
    Next j
    txt = txt & ");"
    MsgBox(txt)
    txt = "INSERT INTO pslog VALUES ('"
    Next i
    
    Le variable NULL conerne les champs qui ne contiennent pas de données, donc je les remplace par NULL.

    Lorsque j'éxécute mon application, j'obtiens ceci :

    INSERT INTO matable VALUES('A','B','C',');
    J'essai de supprimer les caractères de fin qui me posent problèmes mais je n'y arrive pas.

    Est-ce que quelqu'un pourrais m'aider svp ?

    Merci à tous !!!

  2. #2
    Membre chevronné Avatar de bouvda
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    252
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 252
    Par défaut
    Bonjour,

    obtenez-vous ce que vous voulez avec le code suivant ?
    Code : 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
    Dim i, j As Integer
    Dim txt, nulle As String
    txt = "INSERT INTO pslog VALUES ("
    nulle = "NULL"
    For i = 0 To Me.DataGridView.Rows.Count - 1
    For j = 0 To Me.DataGridView.Rows(0).Cells.Count - 1
    If j > 0 Then
    txt = txt & ","
    EndIf
    txt = txt & "'"
    If Me.DataGridView.Rows(i).Cells(j).Value.ToString = "" Then
    txt = txt & "NULL'"
    Else
    txt = txt & Me.DataGridView.Rows(i).Cells(j).Value.ToString & "'"
    EndIf
    Next j
    txt = txt & ");"
    MsgBox(txt)
    txt = "INSERT INTO pslog VALUES ("
    Next i
    

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 114
    Par défaut
    Impec, merci beaucoup bouvda !!!

    Maintenant, j'aimerais pouvoir distinguer les chaines de caractères des entiers afin de ne pas mettre de ' entre les entiers, as tu une idée svp ?

    Merci beaucoup !!!

  4. #4
    Membre chevronné Avatar de bouvda
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    252
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 252
    Par défaut
    Avec des :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    If TypeOf mavariable Is Integer Then
    ...
    EndIf
    C'est indiqué dans la FAQ .

  5. #5
    Membre chevronné Avatar de bouvda
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    252
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 252
    Par défaut
    Il existe aussi la propriété ValueType de la cellule qui donne le type des données contenues.
    Cela donnerait donc :
    Code : 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
    Dim i, j As Integer
    Dim txt, nulle As String
    txt = "INSERT INTO pslog VALUES ("
    nulle = "NULL"
    For i = 0 To Me.DataGridView.Rows.Count - 1
    For j = 0 To Me.DataGridView.Rows(0).Cells.Count - 1
    If j > 0 Then
    txt = txt & ","
    EndIf
    If Me.DataGridView.Rows(i).Cells(j).ValueType Is String Then
    txt = txt & "'"
    EndIf
    If Me.DataGridView.Rows(i).Cells(j).Value.ToString = "" Then
    txt = txt & "NULL"
    Else
    txt = txt & Me.DataGridView.Rows(i).Cells(j).Value.ToString
    EndIf
    If Me.DataGridView.Rows(i).Cells(j).ValueType Is String Then
    txt = txt & "'"
    EndIf
    Next j
    txt = txt & ");"
    MsgBox(txt)
    txt = "INSERT INTO pslog VALUES ("
    Next i
    

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 114
    Par défaut
    Euhhh ok, merci mais je ne comprend pas trop comment insérer cette ligne dans mon cas ??? Excuse moi mais je débute

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 114
    Par défaut
    Peut être une autre solution ???

    Merci

Discussions similaires

  1. Insertion valeurs dans datagridview
    Par mihaispr dans le forum C#
    Réponses: 5
    Dernier message: 25/02/2011, 15h41
  2. DataGridView et format des valeurs dans les cellules
    Par saultapt dans le forum Windows Forms
    Réponses: 5
    Dernier message: 17/06/2008, 16h55
  3. Valeur dans une DataGridView
    Par majong dans le forum Windows Forms
    Réponses: 3
    Dernier message: 12/02/2008, 11h31
  4. Réponses: 1
    Dernier message: 26/10/2007, 18h57
  5. Datagridview, valeur dans les colonnes
    Par orzra dans le forum C#
    Réponses: 2
    Dernier message: 15/06/2007, 09h58

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