Bonjour!
J'ai un probleme qui me rend fou depuis plusieurs jours et je n'en trouve pas la solution.
J'ai un bouton, qui appelle une action quand il est cliqué:
La fonction appellée est censée mettre un champ bit de ma base de donnée à True ou False, selon le parametre qu'on lui passe:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 protected void Button2_Click(object sender, EventArgs e) { DbOperations.SetSupervisorRole(UserGUID, true); }
Le probleme c'est qu'aucun changement n'est effectué dans la base de donnée. Le userid est bon. Quand j'execute la commande directement dans SQL manager sur le server en remplacant le Guid par une valeur et le boolean par True ou False, ben ça marche...
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 public static void SetSupervisorRole(Guid UserID, bool IsSupervisor) { SqlConnection dbConnection = new SqlConnection(); dbConnection.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; string SupervisorParam = IsSupervisor ? "True" : "False"; string StringSqlCommand = "UPDATE Users " + "SET is_supervisor = '" + SupervisorParam + "' " + "WHERE (Users.id = @UserGUID)"; dbConnection.Open(); SqlCommand sqlQuery = new SqlCommand(StringSqlCommand, dbConnection); SqlParameter UserGUIDParam = new SqlParameter("@UserGUID", SqlDbType.UniqueIdentifier); UserGUIDParam.Value = UserID; sqlQuery.Parameters.Add(UserGUIDParam); sqlQuery.ExecuteReader(); dbConnection.Close(); }
Je sais que c'est moche d'avoir passé le parametre True ou false en string mais je viens d'essayer de changer. Avant c'était un Param de type SqlDbType.Bit dont la Value était un boolean true ou false et ça ne marchait pas non plus...
Des pistes ? merci davance
Partager