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 :

DataSet To SQL Table


Sujet :

C#

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 5
    Points : 5
    Points
    5
    Par défaut DataSet To SQL Table
    Bonjour
    Voici un code C# qui permet de charger des données d'une table sql vers DataGridView :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    private void grid_view()
    {
       string s=ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
       string sel = "select * from TableName";
       SqlConnection con = new SqlConnection(s);
       SqlCommand cmd = new SqlCommand(sel, con);
       SqlDataAdapter sda = new SqlDataAdapter(cmd);
       DataSet ds = new DataSet();
       sda.Fill(ds);
       GridView1.DataSource = ds;
       GridView1.DataBind();
    }
    Moi j'aimerai faire l'inverse : du DataGridView vers la table sql (insertion & mise à jour), ou bien juste d'un dataSet vers la table sql (insertion tout le dataSet à la fois).
    Je ne sais pas si c'est possible ou bien je doit parcourir le dataSet ligne par ligne.
    Merci d'avance.

  2. #2
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2011
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2011
    Messages : 456
    Points : 386
    Points
    386
    Par défaut
    Je pense qu'il faut parcourir ligne par ligne pour les inserer,

  3. #3
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Points : 1 187
    Points
    1 187
    Par défaut
    Bonjour,

    Il faut parcourir la datatable (pas le dataset) ligne par ligne, c'est le plus simple !

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Donc,y' a de pas de méthode pour insérer le tout à la fois! c'est bien dommage.
    merci pour vos réponses.

  5. #5
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par mariche Voir le message
    Donc,y' a de pas de méthode pour insérer le tout à la fois! c'est bien dommage.
    merci pour vos réponses.
    En Sql, une insertion de ligne à partir de données externes (c'est à dire ne provenant pas de la base elle même, donc pas une commande "INSERT ... SELECT") se fait de toute manière toujours ligne par ligne.

    .Net n'a pas grand chose à voir la dedans.

  6. #6
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    Il existe au moins "2" façons de ne pas envoyer ligne par ligne tes données dans une base. Avec la classe SqlBulkCopy (et sa méthode WriteToServer(DataRow[])) ou en créant une procédure stockée prenant en paramètre une table value parameter...

  7. #7
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par hegros Voir le message
    Il existe au moins "2" façons de ne pas envoyer ligne par ligne tes données dans une base. Avec la classe SqlBulkCopy (et sa méthode WriteToServer(DataRow[])) ou en créant une procédure stockée prenant en paramètre une table value parameter...
    C'est un fait mais SqlBulkCopy est spécifique à Sql Server, et je m'exprimais dans le cas général.

    Quant à l'usage de la TVP, on rentre dans le cas du 'INSERT ... SELECT' que je mentionnais. (et là encore, les TVP existent en Sql Server et Oracle -bien avant Sql Server, dans ce dernier cas -, mais je ne sais pas si c'est général à tous les SGBD).

  8. #8
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    Oui tu as raison, ma réponse corresponds bien pour une base SqlServer.

    Comme le PO n'a rien dit la dessus (SqlServer ou autre chose) et que tu avais donné une réponse générale, je me suis dis autant en finir et donner une réponse avec ce qui existe en .NET (SqlBulkCopy) et qui reste spécifique MS, à tords ou à raison.

  9. #9
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par hegros Voir le message
    Oui tu as raison, ma réponse corresponds bien pour une base SqlServer.

    Comme le PO n'a rien dit la dessus (SqlServer ou autre chose) et que tu avais donné une réponse générale, je me suis dis autant en finir et donner une réponse avec ce qui existe en .NET (SqlBulkCopy) et qui reste spécifique MS, à tords ou à raison.
    Tout à fait. Comme cela il a le "panorama" complet des options à sa disposition.

Discussions similaires

  1. [VB 2008,SQL server] dataSet sans champ "Tables"
    Par olivier57b dans le forum Accès aux données
    Réponses: 3
    Dernier message: 25/02/2008, 18h10
  2. Réponses: 1
    Dernier message: 19/06/2007, 14h17
  3. [VBA]Inséré un dataset dans une table sql Server 2005
    Par Yotho dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 14/05/2007, 17h17
  4. Erreur SQL : Table/alias non unique
    Par albert69 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 09/11/2005, 17h31
  5. Requete SQL (Table PARADOX) et LCK...
    Par asenaici dans le forum Bases de données
    Réponses: 8
    Dernier message: 09/11/2004, 12h00

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