c# mysql 登录_c#与mysql的连接登陆问题

本文详细介绍了如何使用C#连接MySQL数据库实现用户登录功能,包括创建数据库和表、设置字段、编写Web项目代码,从登录验证到退出操作的完整流程,并强调了在各个页面中检查用户登录状态的重要性。
摘要由CSDN通过智能技术生成

展开全部

,先建立一个数据库UserTest。

2,在里面建立一个表叫62616964757a686964616fe4b893e5b19e31333236396561UsersTable,设计表,建立三个列:u_id, u_name, u_pwd。

3,u_id是int数据类型,自增1;u_name是nvarchar类型,长度12;u_pwd是varchar类型,长度12,然后保存该表。

4,打开表,在第一行u_name输入“abc”,u_pwd输入“abc”。关闭表。

5,打开VS,新建一个Web项目。双击默认的default.aspx页面,然后将

... 替换成下面的代码:

HTML code

yunleizhilian 的登录示范

用户名:密码:

6,按F7,进入代码视图,在Page_Load()里写下面的代码:

C# code

protected void Page_Load(object sender, EventArgs e)

{

//确保页面是第一次被访问

if (!Page.IsPostBack)

{

CheckPageStatus();

}

}

//通过判断Session["UserName"]是否为空检查页面是否已登录(登录成功时会为Session["UserName"]注入值,就不空了。。否则就认为没有登录)。

private void CheckPageStatus()

{

if (Session["UserName"] != null)

{

pnlLogin.Visible = false;

pnlWelcome.Visible = true;

lblWelcome.Text = "欢迎登录," + Session["UserName"].ToString() + " 同志";

}

else

{

pnlWelcome.Visible = false;

pnlLogin.Visible = true;

}

//这个用来接收登录或退出后的信息。个人习惯,你也可以不这么做。

if (Session["Message"] != null)

{

lblMessage.Text = Session["Message"].ToString();

Session.Remove("Message");

}

else

lblMessage.Text = "";

}

7,先告一段落,按F5运行下,看看效果,你会发现当没有登录时,“退出”那部分没有显示。真神奇啊。

8,然后关闭这个IE页面,按VS左下角的“设计”,切换到设计视图。

9,双击设计视图的“登录”按钮,为它编写登录代码如下:

C# code

protected void btnLogin_Click(object sender, EventArgs e)

{

//下面的登录方法只是我的习惯而已,我常用DataTable做所有的事情。建议你不要依赖它……否则会被人笑话的……登录的好方法有很多,参考下就好了。

string strConnection = "SERVER=(local);DATABASE=UserTest;UID=sa;PWD=";//PWD=后面写上你的SQL SERVER 的 sa密码。

System.Data.SqlClient.SqlConnection cn = new System.Data.SqlClient.SqlConnection(strConnection);

//SQL 语句会吧?不会没办法,照抄吧。

string strSql = "SELECT * FROM UsersTable WHERE u_name='" + txbUserName.Text + "' AND u_pwd='" + txbUserPassword.Text + "'";

//SqlDataAdapter这东西有什么用,建议你去查MSDN。

System.Data.SqlClient.SqlDataAdapter da = new System.Data.SqlClient.SqlDataAdapter(strSql, cn);

System.Data.DataTable dt = new DataTable();

da.Fill(dt);

if (dt.Rows.Count > 0)

{

Session["UserName"] = dt.Rows[0]["u_name"].ToString();

Session["Message"] = "登录成功!";

Response.Redirect("default.aspx");

}

else

{

Session["Message"] = "登录失败。请重新登录。";

Response.Redirect("default.aspx");

}

}

10,再按F5测试下,在用户名和密码内输入123,按下“登录”按钮,会提示登录失败。如果都输入abc,就会提示登录成功。因为数据库内只有abc这个用户。

11,关闭IE页面,最后我们做退出。

12,回到设计视图,双击“退出”按钮,为它编写下面的代码:

C# code

protected void btnQuit_Click(object sender, EventArgs e)

{

if (Session["UserName"] != null)

{

Session.Remove("UserName");

Session["Message"] = "退出成功,欢迎您再来啊";

Response.Redirect("default.aspx");

}

}

13,按F5运行,登录成功后,按“退出”按钮,系统会提示已经退出。

14,为了验证用户是否已登录,你需要在所有需要登录的页面的Page_Load()内添加:

C# code

if(Session["UserName"]!=null)

//用户可以访问。

else

//用户不能访问,扔回到登录页面:Response.Redirect("login.aspx");

15,基本如此,搞定。

本回答被提问者采纳

2Q==

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值