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

C# Discussion :

Récupérer résultat d'une requête SQL en C# [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2020
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Novembre 2020
    Messages : 85
    Par défaut Récupérer résultat d'une requête SQL en C#
    Salut à tous,
    Je fais un code permettant d'afficher la liste des utilisateurs Locaux d'un PC.
    Puis en choisissant l'un d'entre eux, je souhaite savoir s'il est sysadmin de ma base SQL.
    Pour la connexion, elle est bonne car j'arrive avec un autre code à créer des utilisateurs et les mettre sysadmin.
    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
    private void Button_Click(object sender, RoutedEventArgs e)
            {
                Utilisateur userSelected = DataGridUtilisateurs.SelectedItem as Utilisateur;
                string UtilisateurSelectionne = "";
                string UtilisateurCourantSysadmin = "";
                if (userSelected != null)
                {
                    UtilisateurSelectionne = userSelected.Nom;
                    // On regarde si il est Sysadmin
                    try
                    {
                        FonctionListeUtilisateursCrees();
                        // Ajout de cet Utilisateur dans SQL et ajout des droits sysadmin.
                        string NomPC = System.Environment.MachineName;
                        string connectionString = "Data Source=" + NomPC + "\\GMS_HDB_EXPRESS;persist security info=True;Integrated Security=SSPI;";
                        string QuerySQL1 = "SELECT IS_SRVROLEMEMBER(\'sysadmin\', \'" + NomPC + "\\" + UtilisateurSelectionne + "\')";
                        MessageBox.Show("L'utilsateur est : " + QuerySQL1);
                        SqlConnection SQLConnexion;
     
                        SQLConnexion = new SqlConnection(connectionString);
                        try
                        {
                            SQLConnexion.Open();
                            using (SqlCommand command = new SqlCommand(QuerySQL1, SQLConnexion))
                            {
                                command.ExecuteNonQuery();
                                SqlDataReader reader = command.ExecuteReader();
                                UtilisateurCourantSysadmin += reader.GetValue(0);
                            }
                            SQLConnexion.Close();
     
                        }
                        catch (Exception ex)
                        {
                            System.Windows.MessageBox.Show("Can not open connection ! " + ex);
                        }
                    }
                    catch (Exception ex)
                    {
                        System.Windows.MessageBox.Show("Erreur : " + ex);
                    }
                }
                MessageBox.Show("L'utilsateur est : " + UtilisateurCourantSysadmin);
            }
    le code suivant fonctionne sous SQL management studio et me renvoi 0 ou 1 en fonction du résultat.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT IS_SRVROLEMEMBER('sysadmin', 'MonPC\MonUtilisateur');

  2. #2
    Membre confirmé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2020
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Novembre 2020
    Messages : 85
    Par défaut
    Petite précision :

    message d'erreur : Tentative non valide de lecteur lorsque aucune donnée n'est présente

  3. #3
    Membre confirmé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2020
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Novembre 2020
    Messages : 85
    Par défaut
    Re,
    je m'auto-réponds :
    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
    Utilisateur userSelected = DataGridUtilisateurs.SelectedItem as Utilisateur;
                string UtilisateurSelectionne = "";
                string UtilisateurCourantSysadmin = "";
                if (userSelected != null)
                {
                    UtilisateurSelectionne = userSelected.Nom;
                    // On regarde si il est Sysadmin
                    try
                    {
                        FonctionListeUtilisateursCrees();
                        // Ajout de cet Utilisateur dans SQL et ajout des droits sysadmin.
                        string NomPC = System.Environment.MachineName;
                        string connectionString = "Data Source=" + NomPC + "\\GMS_HDB_EXPRESS;persist security info=True;Integrated Security=SSPI;";
                        string QuerySQL1 = "SELECT IS_SRVROLEMEMBER(\'sysadmin\', \'" + NomPC + "\\" + UtilisateurSelectionne + "\')";
     
                        SqlConnection SQLConnexion = new SqlConnection(connectionString);
                        try
                        {
                            SQLConnexion.Open();
                            SqlCommand command = new SqlCommand(QuerySQL1, SQLConnexion);
                            command.ExecuteNonQuery();
                            SqlDataReader reader = command.ExecuteReader();
                            if (reader.HasRows)
                            {
                                while (reader.Read())
                                {
                                    //UtilisateurCourantSysadmin = reader[0].ToString();
                                    switch (reader[0].ToString())
                                    {
                                        case "1":
                                            UtilisateurCourantSysadmin = "est Sysadmin";
                                            break;
                                        case "0":
                                            UtilisateurCourantSysadmin = "n'est pas Sysadmin";
                                            break;
                                        case "":
                                            UtilisateurCourantSysadmin = "n'est pas connu de SQL";
                                            break;
                                    }
                                }
                            }
                            SQLConnexion.Close();
     
                        }
                        catch (Exception ex)
                        {
                            System.Windows.MessageBox.Show("Can not open connection ! " + ex);
                        }
                    }
                    catch (Exception ex)
                    {
                        System.Windows.MessageBox.Show("Erreur : " + ex);
                    }
                    MessageBox.Show("L'utilisateur " + UtilisateurCourantSysadmin);

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2016] Récupérer résultat d'une requête SQL ADO
    Par mattgui dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 28/02/2018, 16h46
  2. récupérer résultat d'une requête SQL en bash
    Par Milo59000 dans le forum Linux
    Réponses: 10
    Dernier message: 08/09/2008, 10h13
  3. Récupérer et trier le résultat d'une requête SQL
    Par Bodom-Child dans le forum C++Builder
    Réponses: 8
    Dernier message: 10/10/2006, 07h38
  4. [JTable] Récupérer le résultat d'une requête SQL
    Par malik1982 dans le forum Composants
    Réponses: 10
    Dernier message: 08/07/2006, 19h52
  5. récupérer le résultat d'une requête sql dans un edit
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 3
    Dernier message: 28/07/2005, 14h07

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