2013-04-03 2 views
0

J'ai été bloqué sur ce problème pendant un certain temps: j'essaie de sauvegarder une valeur d'une colonne dans une table (base de données), sous certaines conditions.Stockage de la valeur de la colonne de table dans la variable (SQL Server)

Dans le code ci-dessous, j'essaie de comparer l'entrée d'une zone de texte (sUserName) avec une valeur dans une colonne (UserName) dans la table (aspnet_Membership). Si ces valeurs sont égales, je veux extraire la valeur Email spécifique dans une colonne et l'enregistrer en tant que variable chaîne.

Si NomUtilisateur (colonne) n'est pas égal à NomUtilisateur (zone de texte), alors je voudrais afficher un message d'erreur (instruction else). La colonne Email et UserName sont dans la même table

string sUserName = txtBoxUsername.Text; 

    SqlConnection conn2 = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\sunny\Visual Studio 2010\Projects\email\Prac 2\App_Data\aspnet_Membership.mdf;Integrated Security=True;User Instance=True"); 

    SqlCommand myCommand = new SqlCommand("SELECT Email FROM aspnet_Membership WHERE UserName = sUserName", conn2); 

Répondre

0

Il suffit d'ajouter de vérifier si l'utilisateur existe sur votre table à votre code quelque chose comme:

 string sUserName = txtBoxUsername.Text; 
    SqlConnection conn2 = new SqlConnection("Your SQL Connection"); 

     SqlCommand myCommand = new SqlCommand("SELECT Email FROM aspnet_Membership WHERE UserName = '"+ sUserName + "'", conn2); 

     SqlDataReader rdr = myCommand.ExecuteReader(); 
    if (dr.HasRows) 
    { 
      while (rdr.Read()) 
     { 
       // User exist - get email 

       string email = rdr["Email "].toString(); 

     } 
    } 
    else 
    { 
      //Error! user not exist 
    } 

Cordialement

Questions connexes