一、首先建好项目,并且建立好一个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文件: - <configuration>
- <connectionStrings>
- <add name="数据库名称+ConnectionString" connectionString="Data Source=.\ SQLEXPRESS;AttachDbFilename=’数据库文件路径’;
- Integrated Security=True;Connect Timeout=30;User Instance=True"
- providerName="System.Data.SqlClient" />
- </connectionStrings>
- <system.web>
- <compilation debug="true" targetFramework="4.0"/>
-
- </system.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 = 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("<Script Language=JavaScript>alert("恭喜你,登录成功!")</Script>");
- Response.Write("<script language='javascript'>window.location='IndexNew.aspx'</script>");//打开新的页面,原窗口被代替。
- }
- else //如果密码错误,给出提示
- {
- Response.Write("<Script Language=JavaScript>alert("密码错误,请重新输入密码!")</Script>");
- }
- }
- else //如果用户不存在
- {
- Response.Write("<Script Language=JavaScript>alert("对不起,用户不存在!")</Script>");
- }
- 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 = "";
复制代码
接下来在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 = TextBox1.Text;
- Cmd.Parameters.Add(para1);
- SqlParameter para2 = new SqlParameter("@Password", System.Data.SqlDbType.VarChar, 50);
- para2.Value = 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("<script language='javascript'>window.location='Login.aspx'</script>");
复制代码
好了,接下来我们运行测试一下: 点击注册: 返回登录: 完成了! 来源:https://blog.csdn.net/qq_44394562/article/details/116308569 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |