Récupération de données SQL (procédure stockée) C#
Bonjour,
Je suis confronté à un problème dont je n'arrive pas à me défaire, avant tout les technos : Visual C# 2008 et SQL Server 2005.
Alors, je suis sur une couche d'accès au données sur laquelle j'ai une fonction qui va me retourner un tableau. Ouverture de connexion, définition des paramètre, appel de la procédure stockée et récupération de la liste... C'est ici qu'est mon problème: exécutée sur le serveur en passant manuellement les paramètre la procédure me retourne une liste de résultat. Coté C#, je récupère mon tableau avec le nom des colonnes mais aucune ligne!
J'ai vérifié je récupère bien mon tableau en position [0], coté SQL résultats de 4 lignes et Return Value = 1. J'ai également essayé de ne pas passer le "CommandBehavior.CloseConnection" en paramètre pour le ExecuteReader mais aucun changement en vue.
Si vous voyez un peu ce qui peut clocher ou de quel coté chercher. Merci d'avance ;)
Code DAO:
Code:
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 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| public object GetListeRecompensesRegleActeur(int idSociete,int idRegle, DateTime dateDebut, DateTime dateFin)
{
DataSet dsSample = new DataSet();
try
{
//connection
dbConn.InitialiserConnection();
using (mySQLCommand.Connection = dbConn.myConn)
{
mySQLCommand.CommandType = CommandType.StoredProcedure;
mySQLCommand.CommandText = "SP_GET_LISTE_RECOMPENSES_CONTRAT";
SqlParameter parameter;
parameter = new SqlParameter("@idRegleContrat", SqlDbType.Int);
parameter.Value = idRegle;
mySQLCommand.Parameters.Add(parameter);
parameter = new SqlParameter("@idSociete", SqlDbType.Int);
parameter.Value = idSociete;
mySQLCommand.Parameters.Add(parameter);
parameter = new SqlParameter("@dateDebut", SqlDbType.DateTime);
parameter.Value = dateDebut;
mySQLCommand.Parameters.Add(parameter);
parameter = new SqlParameter("@dateFin", SqlDbType.DateTime);
parameter.Value = dateFin;
mySQLCommand.Parameters.Add(parameter);
using (SqlDataReader rdr = mySQLCommand.ExecuteReader(CommandBehavior.CloseConnection))
{
DataTable dt = new DataTable();
dt.Load(rdr);
dsSample.Tables.Add(dt);
}
}
}
catch (Exception ex)
{
// On log
new Logger.Erreur(ex, string.Empty, NOM_BIBLIOTHEQUE, "", true);
throw ex;
}
finally
{
Dispose();
}
return dsSample.Tables[0];
} |