c#登录页面从数据库验证

本文关键字:数据库 验证 登录 | 更新日期: 2023-09-27 18:18:59

我是c#的新手,我正在尝试创建一个用户输入用户名和密码的登录页面。然后,从数据库中读取它,以验证user_name和密码是否在其中。我已经建立了连接,它似乎正在工作,因为在这段代码中,如果我输入列的标题,它将允许我登录,但不允许登录该列的任何值。我如何让它成为它接受的值?

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace BrokerSolution
{
    public partial class LogIn : Form
    {
        public static String User ;
        public static String pass;
        public LogIn()
        {
            InitializeComponent();
        }
      private bool ValidateFunction(string User, string pass)
        {
            bool boolReturnvalue = false;
            String strConnection = "Server=****; Database=*****; User Id=******; password=*****";
            SqlConnection UGIcon = new SqlConnection(strConnection);
            String LogInQuery = "SELECT user_name, sign_in FROM Users";
            SqlCommand loginCommand = new SqlCommand(LogInQuery, UGIcon);
            SqlDataReader dr;
            UGIcon.Open();
            dr = loginCommand.ExecuteReader();
            while (dr.Read())
            {
                if ((User == dr["user_name"].ToString()) & (pass == dr["sign_in"].ToString()))
                {
                    boolReturnvalue = true;
                }
                dr.Close();
                return boolReturnvalue;

            }
            return boolReturnvalue;
        }
         private void button1_Click(object sender, EventArgs e)
        {
            User = UsernametextBox.Text; //
            pass = PasswordtextBox.Text;
             SqlDataReader dr;
            if (User.Equals(_40029562DataSet.users.user_nameColumn.ToString()))
            {new Dashboard().Show();}
            else
            {
                new NewQuote().Show();
            }

        }


    }
}

c#登录页面从数据库验证

试着把这个放到你的按钮子程序中:

        User = UsernametextBox.Text; //
        pass = PasswordtextBox.Text;
        if (ValidateFunction(User,pass))
        {new Dashboard().Show();}
        else
        {
            new NewQuote().Show();
        }

数据库是否在远程主机上?您很可能必须将您的ip添加到数据库的白名单中,才能进行连接。几个星期前我遇到了这个问题,甚至可以访问表和列名,但没有记录。

如果是本地数据库,只需使用Windows身份验证。否则,尝试在windows运行控制台中进行telnet连接测试以尝试ping服务器