Afficher le resultat d'une requete

caranille - 7 févr. 2013 à 21:50
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

2 réponses

cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
8 févr. 2013 à 08:54
Salut,

t'as pas dû bien chercher : SqlDataReader
0
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
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());
}


0
Rejoignez-nous