c# - 如果用户名不在数据库中,如何显示消息框? C#

标签 c# database foreach

大家好,我有一个大学项目,我正在编写一个登录屏幕,我的教科书太模糊了,如果用户名不在数据库中,我不知道如何显示消息框。这是我的代码:

public void login()
        {
            //try
            //{
                var tbl = from s in this.database1DataSet.employee
                          where s.Username == userNameBox.Text
                          select s;

                foreach (var s in tbl)
                {
                    if (s.Username == userNameBox.Text && s.Password == passwordBox.Text)
                    {
                        MessageBox.Show("Access granted welcome " + s.fName);
                        this.Close();
                    }
                    else
                    {
                        MessageBox.Show("Access denied invalid login details");
                    }

                }
            //}
            /*catch (SyntaxErrorException)
            {
                MessageBox.Show("User Does not exist");
            }*/`enter code here`

最佳答案

如果您的 where 子句不匹配任何用户,则结果中不会有任何行。
因此,您的循环永远不会执行。

相反,您可以调用 FirstOrDefault() 来获取第一个结果行,如果没有任何结果行,则调用 null

关于c# - 如果用户名不在数据库中,如何显示消息框? C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19321137/

相关文章:

mysql - 如何将 MySQL 行设置为只读?

php - 如何将数字相乘直到达到个位数并计算数字?

c# - 简单的 "Foreach"问题

perl - 我可以将这个 Perl 组合到一个单独的 map-grep 链中吗?

c# - OutOfMemoryException 错误

c# - 制作 DevExpress BarButtonItem 内容两行

c# - 我对数据时间选择器和日期时间感到困惑。需要一些帮助

c# - 如何使用 ActionLink 生成哈希

java - JDBC 更新查询更新所有列,而实际上我只更新少数列

php - 将 unix_timestamp 插入 mysql 数据库