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

一、首先建好项目,并且建立好一个web空窗体 如何建好web空网站,参考博文:https://blog.csdn.net/qq_44394562/article/details/116308453
这里我使用两个TextBox和三个Button控件,简单排列好布局
web|用asp.net基于C#编写简单登录注册界面(访问数据库)
文章图片

同样的方式我们建立一个注册界面:
这里我使用了三个TextBox、两个Button、一个Label和一个CompareValidator验证控件
web|用asp.net基于C#编写简单登录注册界面(访问数据库)
文章图片

其中CompareValidator验证控件用来验证密码和确认密码栏是否一致,如果不一致给出错误提示。
ErrorMessage设置为:注意:两次输入的密码不一致!
然后绑定好两个控件:
web|用asp.net基于C#编写简单登录注册界面(访问数据库)
文章图片

二、建立数据库 为了方便,这里我使用VS内置的SQL数据库
右键项目,添加新项,选择SQL Server数据库,点击确定
建好数据库后开始建表
web|用asp.net基于C#编写简单登录注册界面(访问数据库)
文章图片

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

最后点击左上角更新
选择更新
web|用asp.net基于C#编写简单登录注册界面(访问数据库)
文章图片

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

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

.web>

好了,接下来编写C#后台代码:
首先建立与数据库的连接,在Login.aspx.cs文件的所有事件之外定义数据库连接字符串和连接对象:
static string Constr = "Data Source=(LocalDB)\\MSSQLLocalDB; AttachDbFilename=D:\\vs\\work\\Login\\Login\\App_Data\\MyData.mdf; Integrated Security=True"; SqlConnection conn = new SqlConnection(Constr);

回到Login.aspx界面双击登录按钮:
//获取用户在页面上的输入 string userLoginName = TextBox1.Text.Trim(); //用户登录名 string userPassword = TextBox2.Text.Trim(); //密码 SqlDataReader dr; // 新建DataReader对象 SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandText = "SELECT [Password] FROM [User] where LoginName=@LoginName"; cmd.CommandType = CommandType.Text; // 添加查询参数对象,并给参数赋值 SqlParameter para = new SqlParameter("@LoginName", SqlDbType.VarChar, 50); para.Value = https://www.it610.com/article/userLoginName; cmd.Parameters.Add(para); try// 打开conn连接,检索User表的Password字段 { conn.Open(); // 打开数据库连接 dr = cmd.ExecuteReader(); // 将检索记录行填充到DataReader对象中 if (dr.Read())//如果用户存在 {// 如果密码正确,显示登录成功 if (dr.GetString(0).Trim() == userPassword) {// 登录成功后记下该用户登录名,以便后续功能使用 Session.Add("login_name", userLoginName); TextBox1.Text = ""; LblCaution.Text = "登录成功!"; Response.Write(""); Response.Write(""); //打开新的页面,原窗口被代替。 } else//如果密码错误,给出提示 { Response.Write(""); } } else//如果用户不存在 { Response.Write(""); } dr.Close(); //关闭DataReader对象 } catch (SqlException sqlException) { Response.Write(sqlException.Message); // 显示连接异常信息 } finally { if (conn.State == ConnectionState.Open) conn.Close(); }

双击Login.aspx中的注册按钮,添加页面跳转:
Response.Redirect("Register.aspx");

双击重新输入按钮,设置清空:
TextBox1.Text = ""; TextBox2.Text = "";

【web|用asp.net基于C#编写简单登录注册界面(访问数据库)】接下来在Register.aspx.cs文件中的所有事件之外定义数据库连接字符串和连接对象:
static string Constr = "Data Source=(LocalDB)\\MSSQLLocalDB; AttachDbFilename=D:\\vs\\work\\Login\\Login\\App_Data\\MyData.mdf; Integrated Security=True"; SqlConnection conn = new SqlConnection(Constr);

接下来到Register.aspx页面中双击注册按钮:
输入如下代码:
conn.Open(); //检查用户是否已存在 SqlCommand Cmd = new SqlCommand(); Cmd.Connection = conn; Cmd.CommandText = "select [LoginName] from [User]"; SqlDataReader dr = Cmd.ExecuteReader(); while (dr.Read()) { if (dr.GetString(0).Trim() == TextBox1.Text) { LblCaution.Text = "账号"+TextBox1.Text + "已经存在,请重新填写账号!"; conn.Close(); return; } } conn.Close(); string SqlStr; SqlStr = "Insert into [User]([LoginName],[Password])values(@LoginName,@Password)"; Cmd.CommandText = SqlStr; //添加参数对象,并给参数赋值 SqlParameter para1 = new SqlParameter("@LoginName", System.Data.SqlDbType.VarChar, 50); para1.Value = https://www.it610.com/article/TextBox1.Text; Cmd.Parameters.Add(para1); SqlParameter para2 = new SqlParameter("@Password", System.Data.SqlDbType.VarChar, 50); para2.Value = https://www.it610.com/article/TextBox2.Text; Cmd.Parameters.Add(para2); try { conn.Open(); //打开数据库连接 Cmd.ExecuteNonQuery(); //将添加记录 LblCaution.Text ="恭喜你,注册成功!赶快返回登录吧!"; } catch (SqlException sqlException) { Response.Write(sqlException.Message); //显示连接异常信息 } finally { if (conn.State == ConnectionState.Open) conn.Close(); } }

双击返回按钮,输入如下代码:
Response.Write("");

好了,接下来我们运行测试一下:
web|用asp.net基于C#编写简单登录注册界面(访问数据库)
文章图片

点击注册:
web|用asp.net基于C#编写简单登录注册界面(访问数据库)
文章图片

返回登录:
web|用asp.net基于C#编写简单登录注册界面(访问数据库)
文章图片

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

完成了!

    推荐阅读