IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[C#][asp.NET] Button Click et commande SQL


Sujet :

ASP.NET

  1. #1
    Membre averti
    Inscrit en
    Septembre 2007
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 60
    Par défaut [C#][asp.NET] Button Click et commande SQL
    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é:
    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);
            }
    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
    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();
            }
    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...

    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

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Par défaut
    Je sais pas si y'a rapport, mais ExecuteNonQuery semble plus indiqué pour effectuer une modification dans le SGBD que ExecuteReader.

    Je tenterais aussi de modifier UserGUIDParam.Value = UserID; en UserGUIDParam.Value = UserID.ToString();

Discussions similaires

  1. [ASP.NET]Récupération d'une valeur SQL
    Par Mictou dans le forum ASP.NET
    Réponses: 0
    Dernier message: 02/12/2009, 12h43
  2. Réponses: 1
    Dernier message: 06/08/2009, 11h15
  3. Réponses: 23
    Dernier message: 31/05/2009, 17h37
  4. Réponses: 0
    Dernier message: 21/02/2008, 15h58
  5. [ASP.NET] pourquoi executer la commande aspnet_regiis
    Par nkonito dans le forum ASP.NET
    Réponses: 6
    Dernier message: 17/12/2007, 14h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo