Afficher le resultat d'une requete

- - Dernière réponse : soussous78
Messages postés
47
Date d'inscription
mardi 21 novembre 2006
Statut
Membre
Dernière intervention
5 novembre 2016
- 12 févr. 2013 à 22:40
Bonjour,

je sais que je dois être chiant pour vous de venir vous redemander de l'aide et pourtant je ne le fais pas sans avoir cherché, j'ai beau avoir lu beaucoup de forum et d'aide mais j'ai vraiment du mal à comprendre comment traiter l'affichage d'une sortie SQL.

Voici un petit bout de code
           
SqlConnection connexion = new SqlConnection(@"Data Source=JEREMY-PC\SQLEXPRESS;Initial Catalog=Caranille;Integrated Security=True");
            try
            {
                SqlCommand SQL = new SqlCommand("SELECT * FROM Transactions");
                connexion.Open();
                SQL.Connection = connexion;
                SQL.ExecuteReader();
                connexion.Close();

            }
            catch (SystemException ex)
            {
                MessageBox.Show(ex.Message);
            }


En gros je voudrais que le résultat de ma requête (SELECT= s'affiche dans un messagebox.show pour chaque ligne d'enregistrement) juste histoire de comprendre comment récupérer la sortie d'une requête SQL.

Je vous remercierais jamais assez, jérémy
Afficher la suite 

2 réponses

Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
11
0
Merci
Salut,

t'as pas dû bien chercher : SqlDataReader
Commenter la réponse de cs_jopop
Messages postés
47
Date d'inscription
mardi 21 novembre 2006
Statut
Membre
Dernière intervention
5 novembre 2016
0
Merci
Je me suis créé une petite class pour ce genre de gestion. Si ça peut t'aider (ou à d'autre d'ailleurs):
Tu crée l'objet avec ta connectionString.
Tu as 2 méthode :
- Select qui te renvoi un datatable ou null si erreur de requète
- IUD (insert, update, delete) qui te renvoi un booléen de retour de requète.

using System;
using System.Data;
using System.Data.SqlClient;
public class SQLServer
{
    SqlConnection cnn;
    public SQLServer(string connectionString)
    {
        cnn = new SqlConnection();
        cnn.ConnectionString = connectionString;
    }
    public DataTable Select(string requete)
    {
        try
        {
            SqlDataAdapter adapter = new SqlDataAdapter(requete, cnn);
            DataSet dataset = new DataSet();
            adapter.Fill(dataset, "reponse");
            return dataset.Tables[0];
        }
        catch (Exception e)
        {
            // Erreur de requète
            return null;
        }
    }
    /// <summary>
    /// insert update delete
    /// </summary>
    /// 


    /// <returns>true: OK False:Pas OK</returns>
    public bool IUD(string requete)
    {
        bool retour = true;
        try
        {
            SqlCommand updateCommand = new SqlCommand(requete);
            updateCommand.Connection = cnn;
            cnn.Open();
            updateCommand.ExecuteNonQuery();
        }
        catch (Exception e)
        {
            retour = false;
        }
        finally
        {
            cnn.Close();
        }
        return retour;
    }
}


Voici comment l'utiliser :

SQLServer baseSql=new SQLServer(@"Data Source=JEREMY-PC\SQLEXPRESS;Initial Catalog=Caranille;Integrated Security=True");
foreach(dataRow dr in baseSQL.Select("SELECT * FROM Transactions").Rows)
{
   MessageBox.Show("..."+dr[0].ToString());
}


Commenter la réponse de soussous78