首页 > 解决方案 > 需要帮助为 UWP 创建登录系统

问题描述

我试图弄清楚如何使用 UWP 和 MSSQL 创建一个基本的登录系统,但我似乎无法弄清楚。我使用 Microsoft 网站查找有关如何将数据库连接到 UWP 的信息,但问题是当我想测试登录条件时。注意:这只是为了我想弄清楚。我还是个学生。

public MainPage()
    {
        this.InitializeComponent();

    }

    public string ConnectionString { get; set; } = @"Data Source =.; Initial Catalog = LoginTest; Integrated Security = True";

    private void Button_Click(object sender, RoutedEventArgs e)
    {

    }

    private void Button_Click_1(object sender, RoutedEventArgs e)
    {

    }
    public ObservableCollection<UsersLogin> GetProducts(string connectionString)
    {
        const string GetProductsQuery = "select username, password, from Products";

        var products = new ObservableCollection<UsersLogin>();
        try
        {
            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                conn.Open();
                if (conn.State == System.Data.ConnectionState.Open)
                {
                    using (SqlCommand cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = GetProductsQuery;
                        using (SqlDataReader reader = cmd.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                if (username == UsernameText.Text() && password == PasswordText.Text())
                                {
                                    Frame.Navigate(typeof(page));
                                }
                            }
                        }
                    }
                }
            }
            return products;
        }
        catch(Exception ex)
        {

        }
    }
}

这是我的课:

public class UsersLogin: INotifyPropertyChanged
{
    public string username { get; set; }
    public string password { get; set; }


    public event PropertyChangedEventHandler PropertyChanged;
    private void NotifyPropertyChanged(string propertyName)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }
    }

}

问题是,它无法从类中找到用户名或密码属性。有人可以帮忙吗?

标签: c#sqlsql-serveruwp

解决方案


我认为您需要从reader对象中获取值

while (reader.Read())
{
    if (reader[0].ToString() == UsernameText.Text() && reader[1].ToString() == PasswordText.Text())
    {
        Frame.Navigate(typeof(page));
    }
}

或者您可以先将值读入用户名/密码,然后像这样进行比较,如下所示:

UsersLogin userLogin = new UsersLogin();
userLogin.username = reader[0].ToString();
userLogin.password = reader[1].ToString();

你也可能想看看这个使用的例子INotifyPropertyChanged


推荐阅读