Bonsoir, j'ai une erreur "Le cast spécifié n'est pas valide" lorsqu'il arrive à LEC.Add dans le code suivant :
D'habitude j'arrive à trouver l'erreur, mais là je coince.
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 public static List<ListeEmpruntsClient> VoirEmpruntsClient(int clientId) { List<ListeEmpruntsClient> LEC = new List<ListeEmpruntsClient>(); SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["TFEBibliConnectionString"].ToString()); SqlCommand comm = con.CreateCommand(); comm.CommandType = CommandType.StoredProcedure; comm.CommandText = "VoirEmpruntsClient"; SqlParameter param = comm.CreateParameter(); param.ParameterName = "@ClientId"; param.Value = clientId; param.DbType = DbType.Int32; comm.Parameters.Add(param); con.Open(); try { SqlDataReader r = comm.ExecuteReader(); while (r.Read()) LEC.Add(new ListeEmpruntsClient(r.GetGuid(0), r.GetDateTime(1), r.GetDateTime(2), r.GetBoolean(3), r.GetDecimal(4), r.GetInt32(5), r.GetString(6), r.GetInt32(7), r.GetString(8), r.GetInt32(9), r.GetString(10))); return LEC; } catch { throw new Exception("Erreur de lecture des emprunts du client."); } finally { con.Close(); } }
Voici la procédure stockée :
Et voici la table :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 ALTER PROCEDURE dbo.VoirEmpruntsClient ( @ClientId INT ) AS SELECT EMPRUNT.Id, EMPRUNT.DateEmprunt, EMPRUNT.DateRetour, EMPRUNT.EstRendu, EMPRUNT.Amende, EMPRUNT.ClientId, CLIENT.Nom, EMPRUNT.EmployeId, EMPLOYE.Nom, EMPRUNT.LivreId, LIVRE.Titre FROM EMPRUNT INNER JOIN EMPLOYE ON EMPRUNT.EmployeId = EMPLOYE.Id INNER JOIN CLIENT ON EMPRUNT.ClientId = CLIENT.Id INNER JOIN LIVRE ON EMPRUNT.LivreId = LIVRE.Id WHERE EMPRUNT.ClientId = @ClientId RETURN
Aucune donnée n'est null.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Id char(36) DateEmprunt datetime DateRetour datetime EstRendu bit Amende money EmployeId int ClientId int LivreId int
Merci d'avance.
Partager