Bonjour tout le monde,
Dans un projet WinForms pour .Net Framework 4.7.2, je tente de lire les valeurs d'un enregistrement, et HasRows vaut faux, alors que sous SSMS, j'ai copié la requête en remplaçant le paramètre par sa valeur, et j'obtiens bien l'enregistrement auquel je m'attends.
Donc, j'ai du me tromper quelque part dans mon code, mais ça ne me saute pas aux yeux ...
À propos, pour l'interface graphique il avait fallu mettre dans la chaîne de connexion "Trust Server Certificate=True", là il a fallu que je l'enlève car ça n'était pas reconnu.
***
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 using (SqlConnection cnx = new SqlConnection("Data Source=.\\SQLEXPRESS;Initial Catalog=Repas;IntÀ cnx.Open(); using(SqlCommand cmd = new SqlCommand("SELECT LaDate, Observations, Matin, Midi, Soir FROM Repas WHERE LaDate = @laDate",cnx)) { cmd.Parameters.AddWithValue("laDate", oldDate); SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.SingleResult); reader.Read(); if (reader.HasRows) { System.Threading.Thread.Sleep(1000); txbDateHeure.Text = reader[0].ToString(); txbSYS.Text = reader[1].ToString(); txbDIA.Text = reader[2].ToString(); txbPul.Text = reader[3].ToString(); txbOXY.Text = reader[4].ToString(); } reader.Close(); } cnx.Close(); }
Au demeurant j'ai bien fait de poser la question, car c'est une fois que je l'ai vue dans le forum que je me rends compte que j'ai cherché les champs d'une table, dans une autre.
Je reste surpris qu'en rectifiant le nom de la table ça ne retourne toujours rien, mais j'ai l'impression qu'il va falloir retourner un peu tout ça.
Partager