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

ASP.NET Discussion :

Recupérer résultat requete select


Sujet :

ASP.NET

  1. #1
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut Recupérer résultat requete select
    Bonjour,

    Je suis débutant en ASP.net, je sais utiliser un sql datasource puis afficher les données dans un gridview par exemple. Mais je souhaite maintenant éxecuter une requête et récupérer le résultat afin de le mettre dans un label par exemple.

    Avec php, je stockais les données dans un tableau puis je les affichaient. Mais en ASP je n'ai pas réussi à faire la même chose.

    J'ai trouvé ce code là :

    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
    // Creation de la fabrique
    	DbProviderFactory factory = DbProviderFactories.GetFactory(
    		ConfigurationManager.ConnectionStrings["ChaineDeConnexion"].ProviderName);
    	// Objet connection
    	using (IDbConnection connection = factory.CreateConnection())
    	{
    		connection.ConnectionString = ConfigurationManager.ConnectionStrings["ChaineDeConnexion"].ConnectionString;
    		connection.Open();
    		// Objet Command
    		using (IDbCommand command = factory.CreateCommand())
    		{
    			command.CommandText = "SELECT * FROM contenu";
    			command.Connection = connection;
    			// Object datareader
    			using (IDataReader reader = command.ExecuteReader())
    			{
    				while (reader.Read())
    				{
    					for (int i = 0; i < reader.FieldCount; i++)
    					{
    						if (reader[i] != DBNull.Value)
    							Debug.Write(reader[i].ToString());
    						else
    							Debug.Write("NULL");
    						if (i < reader.FieldCount)
    							Debug.Write("|");
    					}
    					Debug.WriteLine();
    				}
    			}
    		}
    	}
    Je sais aussi qu'on peut utiliser un dataset, pour stocker les données dans un tableau?

    J'utilise une base de données SQL Server.

    Merci

  2. #2
    Membre éprouvé
    Inscrit en
    Septembre 2007
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 137
    Par défaut
    Dans ce cas commence d'abord par regarder les différents tutoriaux qui existent, tu y apprendra plein de chose qui te permettont d'aller plus vite et d'apprendre des choses

  3. #3
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    Mais j'aimerai connaître la syntaxe type pour une simple requête select et où on peut travailler avec les données retournées.

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Tu l'as déjà, la syntaxe type ! Si tu veux avancer et apprendre quelque chose, il faudra bien te décider à lire des tutos...
    http://dotnet.developpez.com/articles/ado1/
    http://dotnet.developpez.com/articles/ado2/

  5. #5
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    Voila ce que j'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    string connString = "Data Source=PIERRE-PC;Initial Catalog=base;Integrated Security=Truel";
     
            cnMySQL = new MySqlConnection(connString);
            cmdMySQL = cnMySQL.CreateCommand();
     
            cmdMySQL.CommandText = "select * from contenu";
            cnMySQL.Open();
            sqlDA = new MySqlDataAdapter();
            sqlDA.SelectCommand = cmdMySQL;
            MaTable = new System.Data.DataTable();
            ds = new System.Data.DataSet();
            sqlDA.Fill(MaTable);
    	 MaTable.Dispose();
            cnMySQL.Close();

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 486
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    string connString = "Data Source=PIERRE-PC;Initial Catalog=base;Integrated Security=Truel";
     
            using( MySqlConnection cnMySQL = new MySqlConnection(connString))
            {
                    cmdMySQL = cnMySQL.CreateCommand();
     
                    cmdMySQL.CommandText = "select * from contenu";
                    sqlDA = new MySqlDataAdapter();
                    sqlDA.SelectCommand = cmdMySQL;
                    ds = new System.Data.DataSet();
                    sqlDA.Fill(ds);
            }
    Dans ds, la première DataTable contient votre résultat.

  7. #7
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    En fait le problème dans mon code c'est que c'est pour se connecter à une base MySQL. Or je souhaite me connecter à une base SQLServer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     string connString = "Data Source=PIERRE-PC;Initial Catalog=base;Integrated Security=Truel";
     
            using (SqlConnection cnSQL = new SqlConnection(connString))
            {
                SqlCommand cmdSQL = new SqlCommand();
                cmdSQL = cnSQL.CreateCommand();
                cmdSQL.CommandText = "select * from contenu";
                SqlDataAdapter sqlDA = new SqlDataAdapter();
                sqlDA.SelectCommand = cmdSQL;
                DataSet ds = new System.Data.DataSet();
                sqlDA.Fill(ds);
            }
    Il y a du mieux car je n'ai plus d'erreur lors de la génération. Cependant, au chargement j'ai une erreur sur la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    using (SqlConnection cnSQL = new SqlConnection(connString))
    L'erreur est :

    L'exception ArgumentException n'a pas été géré pas le code utilisateur.
    Valeur non valide pour la clé 'integrated security'.
    Cela vient de mon connString? J'ai pourtant bien pris la ligne entière présente dans mon web.config

  8. #8
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 486
    Par défaut
    http://www.connectionstrings.com/

    Le format de la connectionString est plus SQLServer que MYSQL.

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    "Integrated Security=True", pas "Truel"...

  10. #10
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    Merci.

    Cependant il y a une chose que je n'ai pas trop saisie.

    Pour afficher le résultat de ma requête, comment faire?

    Il faut afficher le résultat dans fichier.aspx ou fichier.aspx.cs ?

    De plus au niveau de la syntaxe:

    ds.Tables["contenu"];

  11. #11
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    Voila où j'en suis :

    J'ai réussi à afficher le résultat que je souhaite avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    string connString = "Data Source=PIERRE-PC;Initial Catalog=guitarox;Persist Security Info=True;User ID=sa;Password=pierre";
            using (SqlConnection cnSQL = new SqlConnection(connString))
            {
                SqlCommand cmdSQL = new SqlCommand();
                cmdSQL = cnSQL.CreateCommand();
                cmdSQL.CommandText = "select * from contenu";
                SqlDataAdapter sqlDA = new SqlDataAdapter();
                sqlDA.SelectCommand = cmdSQL;
                System.Data.DataSet ds = new System.Data.DataSet();
                sqlDA.Fill(ds);
                //Affichage du résultat
                Label2.Text = ds.Tables[0].Rows[0][1].ToString();
            }
    Afin de ne pas recréer un nouveau sujet j'ai une autre question.

    Maintenant pour une requête insert ou delete, cela ne marche pas de la même façon je pense. Il faut utiliser ExecuteQuery? Sauf que je dois mal le faire.

    Merci

  12. #12
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par piero53 Voir le message
    Afin de ne pas recréer un nouveau sujet j'ai une autre question.
    Justement, crée plutôt une autre discussion
    En général les gens répondent plus volontiers aux discussions où il y a peu de réponses...

  13. #13
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    Ok je mets donc celui ci en résolu

    Merci

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

Discussions similaires

  1. [MySQL] Recupération résultat requete en variable
    Par snorky94 dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 27/07/2012, 10h20
  2. Requete SELECT avec résultat concaténé
    Par DrakkoFR dans le forum Langage SQL
    Réponses: 4
    Dernier message: 30/08/2006, 16h34
  3. Requete selection : résultat non modifiable
    Par patal dans le forum Access
    Réponses: 3
    Dernier message: 09/05/2006, 17h31
  4. [MySQL] afficher résultat requete "Select From ..."
    Par winnie82 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 21/03/2006, 11h14
  5. requete SELECT avec un nombre constant
    Par gurumeditation dans le forum Requêtes
    Réponses: 3
    Dernier message: 04/07/2003, 20h04

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