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

ASP.NET连接数据库实现登录和注册

[复制链接]

250

主题

1

回帖

819

积分

管理员

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

连接数据库

在连接之前,我们先在数据库中建立数据表以及待会要用到的数据

创建连接数据库的类

右击项目->添加新项

在这里插入图片描述

选择类

在这里插入图片描述

 

在这里插入图片描述

点击是

创建好的类如下

在这里插入图片描述

 

连接数据库呢我们肯定需要用到一些关于数据库的类。
首先我们要引入命名空间using System.Data.SqlClient;

然后,网站连接数据库并且操作一共需要三步:连接、准备执行、执行
我们在这个类里面写前两步

连接

数据库的连接字符串,可以直接复制数据库的连接字符串Data Source=.\SQLEXPRESS;AttachDbFilename=D:\201717010009\Solution5\web2\App_Data\Database.mdf;Integrated Security=True;User Instance=True
但是要在前面加上一个@ 反转义
也可以把中间路径替换成相对路径 =|DataDirectory|\Database.mdf;

  1. public static SqlConnection con()
  2. {
  3. SqlConnection conn = new SqlConnection();
  4. conn.ConnectionString = "这里写数据库的连接字符串";
  5. conn.Open();
  6. return conn;
  7. }
复制代码

准备执行

  1. public static SqlCommand comd(string sql)
  2. {
  3. SqlCommand cmd = new SqlCommand();
  4. cmd.Connection = con();
  5. cmd.CommandText = sql;//传入的sql语句
  6. return cmd;
  7. }
复制代码

执行登录操作

比如说我们在前端写一个登陆页面
那么输入用户名和密码之后 我们点击登陆按钮 就要从数据库去查找匹配输入的信息是否正确
那我们在登陆按钮里写上动态代码

  1. protected void Button1_Click(object sender, EventArgs e)
  2. {
  3. string username= ;//赋值为前端输入的用户名
  4. string password= ;//赋值为前端输入的密码
  5. //存下sql语句
  6. string sql="select *from tbuser where username='"+username+"' and password='"+password+"'";
  7. //打开并连接数据库
  8. SqlCommand cmd=new SqlCommand();
  9. //传入sql语句 这个DB是刚才创建的连接数据库的类名 comd是他里面的准备执行的方法名
  10. cmd=DB.comd(sql);
  11. //从数据库中读取数据
  12. SqlDataReader sdr=cmd.ExecuteReader();
  13. //判断是否读到数据
  14. if(sdr.Read())
  15. {
  16. //输出查询到的数据 sdr[""]里面写的是数据库中表里的字段名称
  17. Response.Write(sdr["username"].ToString());
  18. //Response.Redirect("index.aspx");//页面重定向 (跳转页面)
  19. }
  20. else
  21. {
  22. Response.Write("<script>alert('用户名或密码错误')</script>");
  23. }
  24. }
复制代码

跳转欢迎界面

然后我们再实现一个功能。
当用户密码和用户名输入正确的时候,我们跳转到欢迎页面去,并且输入一句话“xxx,欢迎你!”

  1. if(sdr.Read())//开始读取数据
  2. {
  3. //将读取到的字段数据 存下来 全部网页通用
  4. Session["u"] = sdr["username"].ToString();
  5. //跳转到index.asp页面
  6. Response.Redirect("index.aspx");//页面重定向 (跳转页面)
  7. }
复制代码

而在index.asp页面 我们写上动态代码
让他打印出欢迎语句

  1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3. string s=Session["u"]+",欢迎你!";
  4. Response.Write(s);
  5. }
复制代码

实现注册操作

注册和登录差不多 但是不一样的就是 在注册之前我们需要先查询一下用户名是否已经存在了

  1. protected void Button1_Click(object sender, EventArgs e)
  2. {
  3. string username= usernameTextBox.Text ;
  4. string password= passwordTextBox.Text ;
  5. string tel = telTextBox.Text;
  6. SqlCommand cmd = new SqlCommand();//打开数据库
  7. if (check(username, cmd))
  8. {
  9. string sql = "insert into tbuser(username,password,phone) values('" + username + "','" + password + "','" + tel + "')";
  10. cmd = Class1.comd(sql);
  11. int i=cmd.ExecuteNonQuery();//读取数据库受影响行数
  12. if(i>0) Response.Write("<script>alert('注册成功')</script>");
  13. else Response.Write("<script>alert('注册失败')</script>");
  14. }
  15. else
  16. {
  17. Response.Write("<script>alert('用户名已存在')</script>");
  18. }
  19. }
  20. //查询用户名是否已经存在
  21. protected bool check(string u,SqlCommand cmd)
  22. {
  23. string sql="select *from tbuser where username='"+u+"'";
  24. cmd = Class1.comd(sql);
  25. SqlDataReader sdr = cmd.ExecuteReader();
  26. if (sdr.Read())
  27. {
  28. return false;
  29. }
  30. else
  31. {
  32. return true;
  33. }
  34. }
复制代码

https://blog.csdn.net/holly_Z_P_F/article/details/88806664?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param


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

本帖子中包含更多资源

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

×
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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