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

C# Discussion :

inserer , ado.net et datagriview


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de solo190
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 412
    Par défaut inserer , ado.net et datagriview
    bonjour à tous,
    je suis un jeunne débutant c#, qui aimerais inserer dans une table sous sql serveur 2008 les données provenant d'un datagridview sous c#.
    voici la requette que j'utilise:
    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
        string strinsertion="";
                for (int i = 0; i < DtgConseiller.Rows.Count - 1; i++)
                {
                    try
                    {
                        if (DtgConseiller.Rows[i].Cells[0].Value.ToString() == "True")
                        {
                            strinsertion = " Insert into edition_conseiller values'" + (Environment.MachineName + "'," +
                                                                                    DtgConseiller.Rows[i].Cells[1].Value.ToString() + "," +
                                                                                    DtgConseiller.Rows[i].Cells[2].Value.ToString() + "," +
                                                                                    DtgConseiller.Rows[i].Cells[3].Value.ToString() + "," +
                                                                                    CodeIntermediaire + ", '1','1'");
                            SqlConnection oConnection = new SqlConnection(strConnexion);
                            SqlCommand oCommand = new SqlCommand(strinsertion, oConnection);
                            oConnection.Open();
                            oCommand.ExecuteNonQuery();
                            oConnection.Close();
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(" l erreur suivante c'est produite :" + ex.Message);
                    }
                }
    voici les difficultes que je rencontre:
    1- je ne sais pas si je teste bien les colonnes selectionnés de mon datagrid
    2- que faire des valeur null qui se trouve dans colonne 3 de mon datagrid
    3- la concatenation des valeurs dans strinsertion semble ne pas etre très bonne.

    Merci de votre précieux soutient.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 93
    Par défaut
    Salut,

    Effectivement cette manière de faire n'est pas très recommandable !

    Je te donne quelques pistes :
    Regarde du côté du BingingSource. Il faut que tu crées une classe qui représente une ligne de tes données, ton BindingSource aura comme source une List<TonObjet> et comme source de ton DataGridView le BindingSource.

    Pour la requête d'insertion, regarde du côté des requêtes paramétrées ! (maintes fois évoquées ici et ailleurs!)

    Bon courage, et si tu as des problèmes n'hésite pas à repasser par ici !

  3. #3
    Membre éclairé Avatar de solo190
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 412
    Par défaut
    Merci Jaco67,
    pour les requettes parametrés sa va, j'ai fait des recherche dessus et je commence à voir ce qu'il faut faire car je les très bien avec le transact sql.
    mais pour le datagridview j'aimerai avoir plus de précision de ta part car je n'y comprend rien pour le moment!
    merci de ton soutient.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 93
    Par défaut
    Je pars de la supposition suivante : ton datagridview affiche des conseillers avec une colonne genre (M/F), nom, prénom.

    Tu auras donc une classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class Conseiller
    {
        public string Genre {get;set;}
        public string Nom {get;set;}
        public string Prenom {get;set:}
     
        public Conseiller() {}
    Dans le designer, tu cliques-glisses un BindingSource sur ton form. En DataSource tu mets la classe Conseiller (il faudra générer le projet entre temps pour que VS le trouve).

    Toujours dans le designer, en DataSource de ton dgv tu mets le BindingSource. VS devrait te générer les colonnes automatiquement.

    Une fois des informations saisies dans le dgv, tu devrais pouvoir les récupérer en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    List<Conseiller> lst = (List<Conseiller>)bindingSource1.DataSource;
    Bon code !

  5. #5
    Membre éclairé Avatar de solo190
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 412
    Par défaut
    Merci Jaco67,
    je ne comprend toujours pas grand chose, je ne souhaite pas que tu ecrive mon code pour moi. mais que tu me donnes aumoin des exemples qui me permetrons de comprendre ce que je dois faire pour resoudre mon problèmes.
    Merci.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 93
    Par défaut
    A quel endroit bloques-tu exactement ?
    La création de la classe ?
    La configuration du BindingSource ?
    La configuration du DataGridView ?
    La récupération des informations pour paramétrer la requête ?

    En recherchant "bindingsource datagridview c#" sur google tu trouveras sûrement de nombreux exemples !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 31/01/2009, 18h31
  2. Réponses: 5
    Dernier message: 10/05/2006, 15h47
  3. [C#][ADO.NET][2.0] Comment inserer des enregistrement ....
    Par doccpu dans le forum Accès aux données
    Réponses: 2
    Dernier message: 02/03/2006, 14h39
  4. Réponses: 5
    Dernier message: 22/12/2003, 14h18
  5. [IB v7.1][C#][ADO.NET] Démarrer avec IB 71
    Par BoeufBrocoli dans le forum InterBase
    Réponses: 14
    Dernier message: 05/08/2003, 12h25

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