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 : 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
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]; }
Partager