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 :

Exécuter une requete par code et l'afficher [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2012
    Messages : 238
    Par défaut Exécuter une requete par code et l'afficher
    salam

    je veut exécuté une requete directement dans le code par l’intermédiaire d'un tableadapter et affiché son résultat dans un datagridview pour cela j'ai créer ce un tableadapter (avec l'aide de concepteur VS) ensuit dans l’événement clique d'un bouton j'ai placer ça :

    Code :
    Sélectionner tout - Visualiser dans une fenêtre à part

    1
    2



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monTableAdapter.Adapter.SelectCommand.CommandText =  "ma requête";
    ensuite j'ai relier mon tableadapter avec un datagridview mais quant je clique sur le bouton le résultat de la requete ne s'affiche pas sur mon datagridview.

  2. #2
    Membre Expert Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Par défaut
    ATTENTION : si tu as ton tableadpater avec le concepteur de VS, il semble qui'il est inutile et même dangereux de faire
    monTableAdapter.Adapter.SelectCommand.CommandText = "ma requête";
    Car d'après ce post, “The tableadapter selectcommand property is private and not exposed!”.

    Mais si tu as l'intention de créer dynamiquement des requêtes en fonction des saisies utilisateurs dans un formulaire, il y a un workaround ici.

    Donc, si ton datagridview a comme source données une datatable, tu peux faire simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.monTableAdapter.Fill(this.tonDataSet.TaTable);
    et le datagridview se remplirait automatiquement.

    Sinon, sans passer par le concepteur de VS, tu peux avoir un truc du genre:
    Code c# : 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
    public void PopulateMyDataGridview()
    {
    	SqlConnection connex = new SqlConnection(TaChaineDeConnexion);
    	SqlDataAdapter myAdapter = new SqlDataAdapter();
    	DataSet myDataSet = new DataSet();
     
    	myAdapter.SelectCommand = new SqlCommand();
    	myAdapter.SelectCommand.Connection = connex;
     
    	myAdapter.SelectCommand.CommandText = "SELECT Title, LastName, FirstName, PhoneNumber FROM Customers";
    	myAdapter.SelectCommand.CommandType = CommandType.Text;
     
    	connex.Open();
     
    	myAdapter.Fill(myDataSet, "MaTable");
     
    	connex.Close();
     
    	MonDataGridView.DataSource = myDataSet;
    	MonDataGridView.DataMember = "MaTable";
     
    }

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2012
    Messages : 238
    Par défaut
    pour commencer merci pour votre réponse .

    je viens d’essayé d'adapté le code que tu ma fourni pour créer un tableadapter sans passez par le VS mais les mot clé ne sont pas reconnu puisqu'ils son souligner avec le rouge SqlConnection et SqlDataAdapter par contre le mot clé DataSet et reconnu .
    ps : j'utilise csharp comme langage avec visuel studio 2012.

    autre information : j'ai essayer de créer une requete paramétré mais j'ai pas pu placer les paramaitre ... normalement c'est comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    TableAdapter.Fill(DataSet.datatable,
       parmetre1,paramétre2)
    moi je n'est que ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TableAdapter.Fill(DataSet.datatable)
    le code ne reconnais pas mes paramètre.

    merci d'avance.

  4. #4
    Membre Expert Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Par défaut
    Citation Envoyé par adelcrb Voir le message
    je viens d’essayé d'adapté le code que tu ma fourni pour créer un tableadapter sans passez par le VS mais les mot clé ne sont pas reconnu puisqu'ils son souligner avec le rouge SqlConnection et SqlDataAdapter par contre le mot clé DataSet et reconnu .
    Faudrait ajouter les références appropriées
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    using System.Data;
    using System.Data.SqlClient;

    Citation Envoyé par adelcrb Voir le message
    autre information : j'ai essayer de créer une requete paramétré mais j'ai pas pu placer les paramaitre ... normalement c'est comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    TableAdapter.Fill(DataSet.datatable,
       parmetre1,paramétre2)
    moi je n'est que ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TableAdapter.Fill(DataSet.datatable)
    le code ne reconnais pas mes paramètre.
    Effectivement c'est
    TableAdapter.Fill(dataset.DataTable, param1, param2);
    . As-tu un message d'erreur? Passes-tu les bons paramètres avec les bons types?

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2012
    Messages : 238
    Par défaut
    merci pour la réponse

    - effectivement il manquai les références approprié ... maintenant j'arrive pas a créer ma connectionstring j'ai essyer ça (après une recherche sur la toile ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SqlConnection connex = new SqlConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\projet \gestion des projet\gp.mdb");
    base access 2003

    la compilation ce fait normalement mais quant je clique sur le bouton j'ai le droit a cette erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Mot clé non pris en charge : 'provider'.
    - pour la requete paramétré j'ai tous vérifier mais les paramétrés ne sont pas reconnu du coup je me base sur la première solution je veut tous créer moi même sans compté sur VS.

    merci pour votre temps.

  6. #6
    Membre Expert Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Par défaut
    Citation Envoyé par adelcrb Voir le message
    j'arrive pas a créer ma connectionstring j'ai essyer ça (après une recherche sur la toile ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SqlConnection connex = new SqlConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\projet \gestion des projet\gp.mdb");
    base access 2003

    la compilation ce fait normalement mais quant je clique sur le bouton j'ai le droit a cette erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Mot clé non pris en charge : 'provider'.
    Fait attention aux espaces dans le chemin du Data Source. Es-tu sûr qu'il y bien espace entre F:\projet et \gestion?

  7. #7
    Membre Expert Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Par défaut
    Citation Envoyé par adelcrb Voir le message
    - pour la requete paramétré j'ai tous vérifier mais les paramétrés ne sont pas reconnu du coup je me base sur la première solution je veut tous créer moi même sans compté sur VS.
    Normalement dans le concepteur de vs, tu devrais avoir un truc semblable à l'image ci-dessous:

    Moi j'ai utilisé une procédure stockée. Mais le principe est le même pour les requêtes texte. Tu remarqueras en rouge mon paramètre. Il est de type int.
    Dans mon code, j'y accède de la manière suivante:

    Remarque que mon paramètre s'affiche normalement avec son type.

    Essayes donc de bien revoir la définition de tes paramètres au niveau du concepteur.

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

Discussions similaires

  1. [Débutant] exécuter une requete par code
    Par adelcrb dans le forum C#
    Réponses: 2
    Dernier message: 09/09/2013, 17h03
  2. [MySQL] afficher une requete par mois et par année
    Par Whinespirit dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 20/06/2010, 10h55
  3. Par quel moyen exécuter une liste de code SQL
    Par Bourezak dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 23/01/2008, 15h27
  4. Lancer une requête par du code
    Par Kyrha dans le forum Access
    Réponses: 8
    Dernier message: 30/05/2006, 09h10
  5. [Forms 6i] Exécuter une lov par le code
    Par macben dans le forum Oracle
    Réponses: 2
    Dernier message: 02/02/2006, 17h04

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