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 :

Provider & query [Débutant]


Sujet :

C#

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Provider & query
    Bonjour,
    je souhaite créer une application C# capable de me créer et remplir un DataTable.

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
            public DataTable GetData(string query)
            {
                DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.OracleClient");
     
                using (DbConnection conn = factory.CreateConnection())
                {
                    try
                    {
                        DbConnectionStringBuilder csb = factory.CreateConnectionStringBuilder();
                        csb["Data Source"] = @"";
                        csb["User Id"] = @"";
                        csb["Password"] = @"";
     
                        conn.ConnectionString = csb.ConnectionString;
                        conn.Open();
     
                        using (DbCommand cmd = conn.CreateCommand())
                        {
                            cmd.CommandText = query;
     
                            using (DataTable dt = new DataTable())
                            {
                                DbDataAdapter da = factory.CreateDataAdapter();
                                cmd.CommandType = CommandType.Text;
                                da.SelectCommand = cmd;
                                da.Fill(dt);
                                return dt;
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        throw new Exception("Error", ex);
                    }
                    finally
                    {
                        if (conn.State != ConnectionState.Closed)
                            conn.Close();
                    }
                }
            }
    Dans un second temps, je dispose d'une classe contenant mes différentes requêtes.

    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
    public class Query
    {
        public string SQL;
     
     
        public string query1()
        {
            this.SQL = "select * from table1"
            return this.SQL;
        }
     
        public string query2(string param)
        {
            this.SQL = "select * from table1 where id = '" + param + "' ";
            return this.SQL;
        }
    Je souhaiterais donc pouvoir passer query1 ou/et query2 en paramètre de ma méthode GetData.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public DataTable GetData(query1)
    {
        //...
    }
    Mais je ne sais comment faire !
    Merci d'avance pour votre aide !

  2. #2
    Membre confirmé Avatar de Jabbal'H
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2004
    Messages : 403
    Points : 580
    Points
    580
    Par défaut
    Euh où est ton problème ?
    " Je préfère comprendre les gens qui ne me comprennent pas "

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Juin 2010
    Messages : 210
    Points : 243
    Points
    243
    Par défaut
    Bonjour,

    string MyQuery = Query.query1();

    Du coup tu fais juste GetData(MyQuery);

    A+

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    C'est bien comme cela que je procède!
    Je pensais qu'il existait une façon plus propre.

    Merci !

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/12/2012, 20h34
  2. Réponses: 3
    Dernier message: 09/04/2009, 17h38
  3. Query data set
    Par Sandra dans le forum JBuilder
    Réponses: 3
    Dernier message: 20/01/2003, 10h08
  4. [XMLRAD] Décoder Request.Query
    Par Sylvain Leray dans le forum XMLRAD
    Réponses: 8
    Dernier message: 10/01/2003, 16h40

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