2 weixin 28774345 weixin_28774345 于 2015.06.07 09:32 提问

c#做登录界面,,,,,,
c#

用c#做登录界面,如何确定用户名和密码的正确,,用户名和密码存在数据库(sql)的一个表中,

8个回答

u013937937
u013937937   2015.06.07 09:39

输入的用户名和数据库里的比较,没有,提示没有此用户,有则判断密码正确与否

u014663269
u014663269   2015.06.07 11:21

使用SqlDataReader sqlDr = sqlCmd.ExecuteReader();,然后再调用sqlDr的read(),如果返回的是true,用户名密码就是正确的

caozhy
caozhy   Ds   Rxr 2015.06.07 12:02

string username = textBox1.Text;
string password = textBox2.Text;
SqlConnection conn = new SqlConnection(连接字符串);
SqlCommand cmd = new SqlCommand("select count(*) from 表 where 用户名='" + username + "' and 密码='" + password + "'" , conn);
int n = (int)cmd.ExecuteScalar();
if (n == 1)
登录成功
else
登录失败

angeldwind
angeldwind   2015.06.07 12:26

我的做法是根据用户名查询表 返回这个用户数据
如果没有这个用户数据 提示无此用户
有的话再比较返回数据的密码 正确才进入系统

caozhy
caozhy 这个做法不好,不要返回服务器的密码,在客户端比较,增加了密码泄露的安全风险。
2 年多之前 回复
frank_20080215
frank_20080215   2015.06.07 14:20

从数据库中取出用户名,比较相等。取密码,相等,则登录成功;不相等,出错。
如果

u013538542
u013538542   2015.06.07 15:58

1.用户输入密码提交服务器,服务器验证用户名和密码,对返回true,错返回false

Eviliy
Eviliy   2015.06.07 16:44

如果是基于web的可以直接我这个,如果是用应用程序的,可以修改一下。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using System.Collections;
using System.Configuration;
using System.Data;
using System.Web.Security;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Diagnostics;

public string connectionstring = ConfigurationManager.ConnectionStrings["ExaminationConn"].ToString();

protected void Page_Load(object sender, EventArgs e)
{

}
protected void LoginButton_Click(object sender, EventArgs e)
{
    login();
}

#region 登录方法
private void login()
{
    SqlConnection conn = new SqlConnection(connectionstring);//创建数据库接口

    string sql = "select * from UsersTable where username='" + UserID.Text.Trim() + "' and password='" + Password.Text.Trim() + "'";
    SqlCommand cmd = new SqlCommand(sql, conn);
    SqlDataReader dr;
    try
    {
        conn.Open();
        dr = cmd.ExecuteReader();
        if (dr.Read())
        {
            Session["UserID"] = dr.GetString(0);
            Session["UserKind"] = dr.GetString(2);
            Session["IsLogined"] = true;
            conn.Close();
            conn.Dispose();//释放连接
            Response.Redirect("Home.aspx");
        }
        else
        {

            string msgstring = "用户名或密码错误";//设置提醒弹窗
            string msg = string.Format("{0}", msgstring);
            string script = string.Format("<script type='text/javascript'language='javascript'>" + "alert('{0}');</script>", msg);
            this.Page.ClientScript.RegisterStartupScript(this.GetType(), "alerMsg", script);
        }
    }
    catch (SqlException ex)
    {

        //lblmsg.Text = "数据库错误:" + ex.Message.ToString();
    }
    finally
    {
        conn.Close();
    }
}
#endregion




其中声明的公共字符串connectionstring是在Web.config里面,标签的标签下面,加入这个代码:

Eviliy
Eviliy <configuration>标签下面的<connectionStrings>标签下面,加<add name="ExaminationConn" connectionString="Server=(local); user=数据库用户名;pwd=数据库密码;database=数据库名称"/>
2 年多之前 回复
miracle_yao
miracle_yao   2015.07.28 14:45

通过sql语句去查数据库表中是否有这条记录。

 SELECT COUNT(1) FROM user WHERE userName =@userName AND password = @password
Csdn user default icon
上传中...
上传图片
插入图片