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:
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:
SELECT IS_SRVROLEMEMBER('sysadmin', 'MonPC\MonUtilisateur');