2017-09-06 1 views
0

Je suis nouveau avec C# et aussi avec dapper. J'ai écrit une application de console simple qui simule le processus de connexion. J'essaie d'interroger une table de connexion en utilisant dapper avec les paramètres. Je n'arrive pas à traverser même si l'utilisateur et le mot de passe sont corrects. J'apprécierais toutes les directions pour accomplir un essai de connexion réussi.Demander une table de journalisation avec dapper

enter image description here

public class Login 
    { 
     public string UserName { get; set; } 
     public string Password { get; set; } 

     public Login() 
     { 
     } 
     public Login(string username, string password) 
     { 
      UserName = username; 
      Password = password; 
     } 
    } 
    public static class Helper 
    { 
     public static string Con(string name) 
     { 
      return ConfigurationManager.ConnectionStrings[name].ConnectionString; 
     } 
    } 

    public class DataAccess 
    { 
     public List<Login> GetLogin(string username, string password) 
     { 
      using (IDbConnection connection = new SqlConnection(Helper.Con("Stock"))) 
      { 
       var output = connection.Query<Login>("sp_GetLogin @UserName, @Password", new { UserName = username, Password = password }, commandType:CommandType.Text).ToList(); 
       return output; 
      } 
     } 
    } 
    static void Main(string[] args) 
    { 

     string txtusername; 
     string txtpassword; 

     Console.WriteLine("Enter your Username:"); 
     txtusername = Console.ReadLine(); 
     Console.WriteLine("Enter your Password:"); 
     txtpassword = Console.ReadLine(); 
     Console.WriteLine("Username typed: {0}, Password typed: {1}", txtusername, txtpassword); 

     Login login = new Login(); 


     DataAccess obj = new DataAccess(); 

     obj.GetLogin(txtusername, txtpassword); 

     if (obj != null) 
     { 
      if (login.Password == txtpassword) 
      { 
       Console.WriteLine("User credentials successfull"); 
      } 
      else Console.WriteLine("Password don't match"); 
     } 
     else Console.WriteLine("Username don't match"); 
     Console.ReadLine(); 
    } 

Répondre

0
Login login = new Login(); 

    DataAccess obj = new DataAccess(); 

    obj.GetLogin(txtusername, txtpassword); 

oh lawd.

DataAccess obj = new DataAccess(); 

    Login login = obj.GetLogin(txtusername, txtpassword); 

Vous avez vraiment besoin d'apprendre comment déboguer, chaque ligne à travers le renforcement de votre code, en examinant ce qui se passe et pourquoi il n'est pas ce que vous attendiez. http://idownvotedbecau.se/nodebugging

+0

J'ai fait le débogage. Je l'ai fait courir – mauricio

0

Vous n'utilisez pas la valeur de retour de DataAccess.GetLogin.

var login = obj.GetLogin(txtusername, txtpassword).FirstOrDefault(); 

font ensuite la vérification des titres de compétences.