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 :

Datagridview vers MS SQL


Sujet :

VB.NET

  1. #1
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 316
    Points : 146
    Points
    146
    Par défaut Datagridview vers MS SQL
    Bonjour,

    Une idée pourquoi mon code ne fonctionne pas.
    Aprés le clique sur le bouton de mon FORM, ce code n'enregistre rien dans ma table SQL..
    En mode debug, toutes les "Values" ont bien les valeurs attendues..

    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
     cnn1.Open()
     
                Dim Cmd As New Data.SqlClient.SqlCommand
                For Each rw As DataGridViewRow In DG_PANIER.Rows
                    Cmd = New SqlCommand("INSERT INTO DBO.COMMANDE " & _
                                         "([NUM_CMD],[NOMENCL],[DESIGNATION],[UAP],[USER_WS_MATR],[USER_WS_NOM],[SECTEUR],[QTE_CMD],[DATE_CMD] " & _
                                         ",[DATE_CMD_FERME],[PRIORITE],[USER_ADM],[ETAT_CMD],[MOTIF_ETAT],[COMMENTAIRE_TO_LOGI],[COMMENTAIRE_TO_USER] " & _
                                         ",[ZONE_QUAI],[QTE_LIVRE],[RELIQUAT],[STOCKA0],[TOUT_DISPO],[DEL]) " & _
                                        " VALUES ('" & L_ID_CMD.Text & "','" & rw.Cells(0).Value & "', '" & rw.Cells(1).Value & "', '" & LB_UAP.SelectedItem & "', '" & TB_MATR.Text & "', '" & L_UserName.Text & "', '" & LB_SECTION.SelectedItem & "','" & rw.Cells(4).Value & "', GETDATE() " & _
                                        ", '', '" & L_TYPE_CMD.Text & "', '', 'Ouverte', '', '', '' " & _
                                        ", '" & ChaineCochee() & "', '0','','','','0') ", cnn1)
     
     
                Next
                Cmd.ExecuteNonQuery()
                cnn1.Close()
    MERCI !

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Points : 1 511
    Points
    1 511
    Par défaut
    Bonjour,

    ça pique toujours autant les yeux les requêtes concat ... Je te proposerais bien de corriger ton problème en profitant des avantages des requêtes paramétrées mais bon ... (oui pour moi tu as 9 changes sur 10 pour que ce soit un problème de typage)

    De plus tu dis que ce code n'enregistre rien ... ok mais le message d'erreur qui va avec

    J@ck.
    Pas de réponse par MP, merci.

    Penser au ça fait plaisir

  3. #3
    Membre averti Avatar de _PascalC_
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2008
    Messages : 220
    Points : 428
    Points
    428
    Par défaut
    Cmd.ExecuteNonQuery() n'est pas dans ta boucle.
    Tu devrais cependant avoir au moins la dernière ligne dans ta table.

    Je te conseille très fortement de consulter les liens ci-dessous :
    .Net, SQL Server, et les requêtes paramétrées (C#)
    Injection SQL

    Formatée de cette façon, la simple saisie d'une quotte par l'utilisateur fera planter ta requête.
    Ça t'évitera aussi de gros problèmes de sécurité, typage... etc

  4. #4
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 316
    Points : 146
    Points
    146
    Par défaut
    Je viens de trouver !!!

    Alors j'avais pas de message d'erreur, parce que j'avais oublié le MSG du CATCH ! donc avec lui j'ai bien eu le message : d'erreur "Echec de conversion INT en VARCHAR".
    Ca fonctionne maintenant.

    Par contre tu dis que ca pique les yeux.. je veux bien te croire mais quel avantage (hors mis que ca pique plus), de passer des parametres dans la fonction si comme ca c'est tout aussi efficace ?

    tu peux montrer ca ? Merci

  5. #5
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 316
    Points : 146
    Points
    146
    Par défaut
    Merci les gars !

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Points : 1 511
    Points
    1 511
    Par défaut
    Citation Envoyé par guilld Voir le message
    Je viens de trouver !!!

    Par contre tu dis que ca pique les yeux.. je veux bien te croire mais quel avantage (hors mis que ca pique plus), de passer des paramétrés dans la fonction si comme ca c'est tout aussi efficace ?

    tu peux montrer ca ? Merci
    Suis les liens que _PascalC_ t'as donné.

    Les avantages principaux avantages pour moi sont : La sécurité (voir les liens de _PascalC_), les soucis de typages puisque le connecteur se chargera de transtyper la valeur si elle n'est pas dans un bon type... mais alors surtout, pour moi, la seule, la vrai raison c'est que ca prend pas plus de temps ni de code je ne comprendrais donc jamais pourquoi les débutants sont si réticent ! Moi on me dit c'est la bonne pratique, c'est facile est rapide, j'en ai pas besoin de plus pour me lancer ...

    J@ck.
    Pas de réponse par MP, merci.

    Penser au ça fait plaisir

  7. #7
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 316
    Points : 146
    Points
    146
    Par défaut
    ..

  8. #8
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Points : 1 511
    Points
    1 511
    Par défaut
    Citation Envoyé par guilld Voir le message
    bon ok il en reste, mais pas le choix puisqu'il s'agit de liste de choix. Donc non modifiable ...
    Aucun rapport avec la choucroute !
    Je vois pas ce qu'il t'empêche de faire comme pour les 4 que tu as fais correctement...

    De plus, si tu voulais encore t'améliorer tu pourrais passer par des classes, faire une vrai séparation des couches....

    J@ck.
    Pas de réponse par MP, merci.

    Penser au ça fait plaisir

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

Discussions similaires

  1. transférer datagridview vers la base sql
    Par loudiyi.medbahae dans le forum Linq
    Réponses: 2
    Dernier message: 26/05/2017, 12h07
  2. [Débutant] Update SQL depuis un datagridview vers la base de données.
    Par didzym dans le forum C#
    Réponses: 3
    Dernier message: 16/01/2012, 11h09
  3. Réponses: 2
    Dernier message: 09/03/2011, 00h48
  4. Transfert de données vers My SQL
    Par zoso dans le forum Outils
    Réponses: 2
    Dernier message: 30/09/2003, 10h21
  5. de SQL vers T-SQL sous MS SREVER
    Par Nadaa dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 19/09/2003, 15h37

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