找回密码
 会员注册
查看: 197|回复: 0

用asp.net基于C#编写简单登录注册界面(访问数据库)

[复制链接]

250

主题

1

回帖

819

积分

管理员

积分
819
发表于 2024-2-29 08:34:06 | 显示全部楼层 |阅读模式

一、首先建好项目,并且建立好一个web空窗体

如何建好web空网站,参考博文:https://blog.csdn.net/qq_44394562/article/details/116308453

这里我使用两个TextBox和三个Button控件,简单排列好布局

在这里插入图片描述

同样的方式我们建立一个注册界面:
这里我使用了三个TextBox、两个Button、一个Label和一个CompareValidator验证控件
在这里插入图片描述

其中CompareValidator验证控件用来验证密码和确认密码栏是否一致,如果不一致给出错误提示。
ErrorMessage设置为:注意:两次输入的密码不一致!
然后绑定好两个控件:
在这里插入图片描述

二、建立数据库

为了方便,这里我使用VS内置的SQL数据库
右键项目,添加新项,选择SQL Server数据库,点击确定
建好数据库后开始建表

在这里插入图片描述

在这里插入图片描述

最后点击左上角更新
选择更新
在这里插入图片描述

在这里插入图片描述

说明更新成功。
接下来配置Web.config文件:

  1. <configuration>
  2. <connectionStrings>
  3. <add name="数据库名称+ConnectionString" connectionString="Data Source=.\ SQLEXPRESS;AttachDbFilename=’数据库文件路径’;
  4. Integrated Security=True;Connect Timeout=30;User Instance=True"
  5. providerName="System.Data.SqlClient" />
  6. </connectionStrings>
  7. <system.web>
  8. <compilation debug="true" targetFramework="4.0"/>
  9. </system.web>
复制代码

好了,接下来编写C#后台代码:
首先建立与数据库的连接,在Login.aspx.cs文件的所有事件之外定义数据库连接字符串和连接对象:

  1. static string Constr = "Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=D:\\vs\\work\\Login\\Login\\App_Data\\MyData.mdf;Integrated Security=True";
  2. SqlConnection conn = new SqlConnection(Constr);
复制代码

回到Login.aspx界面双击登录按钮:

  1. //获取用户在页面上的输入
  2. string userLoginName = TextBox1.Text.Trim(); //用户登录名
  3. string userPassword = TextBox2.Text.Trim(); //密码
  4. SqlDataReader dr; // 新建DataReader对象
  5. SqlCommand cmd = new SqlCommand();
  6. cmd.Connection = conn;
  7. cmd.CommandText = "SELECT [Password] FROM [User] where LoginName=@LoginName";
  8. cmd.CommandType = CommandType.Text;
  9. // 添加查询参数对象,并给参数赋值
  10. SqlParameter para = new SqlParameter("@LoginName", SqlDbType.VarChar, 50);
  11. para.Value = userLoginName;
  12. cmd.Parameters.Add(para);
  13. try // 打开conn连接,检索User表的Password字段
  14. {
  15. conn.Open(); // 打开数据库连接
  16. dr = cmd.ExecuteReader(); // 将检索记录行填充到DataReader对象中
  17. if (dr.Read()) //如果用户存在
  18. { // 如果密码正确,显示登录成功
  19. if (dr.GetString(0).Trim() == userPassword)
  20. { // 登录成功后记下该用户登录名,以便后续功能使用
  21. Session.Add("login_name", userLoginName);
  22. TextBox1.Text = "";
  23. LblCaution.Text = "登录成功!";
  24. Response.Write("<Script Language=JavaScript>alert("恭喜你,登录成功!")</Script>");
  25. Response.Write("<script language='javascript'>window.location='IndexNew.aspx'</script>");//打开新的页面,原窗口被代替。
  26. }
  27. else //如果密码错误,给出提示
  28. {
  29. Response.Write("<Script Language=JavaScript>alert("密码错误,请重新输入密码!")</Script>");
  30. }
  31. }
  32. else //如果用户不存在
  33. {
  34. Response.Write("<Script Language=JavaScript>alert("对不起,用户不存在!")</Script>");
  35. }
  36. dr.Close(); //关闭DataReader对象
  37. }
  38. catch (SqlException sqlException)
  39. {
  40. Response.Write(sqlException.Message); // 显示连接异常信息
  41. }
  42. finally
  43. {
  44. if (conn.State == ConnectionState.Open)
  45. conn.Close();
  46. }
复制代码

双击Login.aspx中的注册按钮,添加页面跳转:

  1. Response.Redirect("Register.aspx");
复制代码

双击重新输入按钮,设置清空:

  1. TextBox1.Text = "";
  2. TextBox2.Text = "";
复制代码

接下来在Register.aspx.cs文件中的所有事件之外定义数据库连接字符串和连接对象:

  1. static string Constr = "Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=D:\\vs\\work\\Login\\Login\\App_Data\\MyData.mdf;Integrated Security=True";
  2. SqlConnection conn = new SqlConnection(Constr);
复制代码

接下来到Register.aspx页面中双击注册按钮:
输入如下代码:

  1. conn.Open();
  2. //检查用户是否已存在
  3. SqlCommand Cmd = new SqlCommand();
  4. Cmd.Connection = conn;
  5. Cmd.CommandText = "select [LoginName] from [User]";
  6. SqlDataReader dr = Cmd.ExecuteReader();
  7. while (dr.Read())
  8. {
  9. if (dr.GetString(0).Trim() == TextBox1.Text)
  10. {
  11. LblCaution.Text = "账号"+TextBox1.Text + "已经存在,请重新填写账号!";
  12. conn.Close();
  13. return;
  14. }
  15. }
  16. conn.Close();
  17. string SqlStr;
  18. SqlStr = "Insert into [User]([LoginName],[Password])values(@LoginName,@Password)";
  19. Cmd.CommandText = SqlStr;
  20. //添加参数对象,并给参数赋值
  21. SqlParameter para1 = new SqlParameter("@LoginName", System.Data.SqlDbType.VarChar, 50);
  22. para1.Value = TextBox1.Text;
  23. Cmd.Parameters.Add(para1);
  24. SqlParameter para2 = new SqlParameter("@Password", System.Data.SqlDbType.VarChar, 50);
  25. para2.Value = TextBox2.Text;
  26. Cmd.Parameters.Add(para2);
  27. try
  28. {
  29. conn.Open();//打开数据库连接
  30. Cmd.ExecuteNonQuery();//将添加记录
  31. LblCaution.Text = "恭喜你,注册成功!赶快返回登录吧!";
  32. }
  33. catch (SqlException sqlException)
  34. {
  35. Response.Write(sqlException.Message);//显示连接异常信息
  36. }
  37. finally
  38. {
  39. if (conn.State == ConnectionState.Open)
  40. conn.Close();
  41. }
  42. }
复制代码

双击返回按钮,输入如下代码:

  1. Response.Write("<script language='javascript'>window.location='Login.aspx'</script>");
复制代码

好了,接下来我们运行测试一下:

在这里插入图片描述

点击注册
在这里插入图片描述

返回登录:
在这里插入图片描述

在这里插入图片描述

完成了!


来源:https://blog.csdn.net/qq_44394562/article/details/116308569
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?会员注册

×
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2024-12-26 12:40 , Processed in 1.111774 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表