caranille
-
7 févr. 2013 à 21:50
soussous78
Messages postés47Date d'inscriptionmardi 21 novembre 2006StatutMembreDerniè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.
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.
soussous78
Messages postés47Date d'inscriptionmardi 21 novembre 2006StatutMembreDerniè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());
}