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

时间:2013-06-18 17:26:26

标签: c# login

我是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();
            }



        }




    }
}

2 个答案:

答案 0 :(得分:0)

尝试将其放入按钮子程序中:

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

答案 1 :(得分:0)

数据库是否在远程主机上?您很可能必须将您的IP添加到数据库的白名单中,以便您可以连接。几周前我遇到了那个确切的问题,甚至可以访问表和列名,但没有记录。

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