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

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

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

这里我使用两个TextBox和三个Button控件,简单排列好布局
用asp.net基于C#编写简单登录注册界面(访问数据库)_第1张图片
同样的方式我们建立一个注册界面:
这里我使用了三个TextBox、两个Button、一个Label和一个CompareValidator验证控件
用asp.net基于C#编写简单登录注册界面(访问数据库)_第2张图片
其中CompareValidator验证控件用来验证密码和确认密码栏是否一致,如果不一致给出错误提示。
ErrorMessage设置为:注意:两次输入的密码不一致!
然后绑定好两个控件:
用asp.net基于C#编写简单登录注册界面(访问数据库)_第3张图片

二、建立数据库

为了方便,这里我使用VS内置的SQL数据库
右键项目,添加新项,选择SQL Server数据库,点击确定
建好数据库后开始建表
用asp.net基于C#编写简单登录注册界面(访问数据库)_第4张图片
用asp.net基于C#编写简单登录注册界面(访问数据库)_第5张图片
最后点击左上角更新
选择更新
用asp.net基于C#编写简单登录注册界面(访问数据库)_第6张图片
用asp.net基于C#编写简单登录注册界面(访问数据库)_第7张图片
说明更新成功。
接下来配置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("");
                    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 = "";

接下来在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("");

好了,接下来我们运行测试一下:
用asp.net基于C#编写简单登录注册界面(访问数据库)_第8张图片
点击注册
用asp.net基于C#编写简单登录注册界面(访问数据库)_第9张图片
返回登录:
用asp.net基于C#编写简单登录注册界面(访问数据库)_第10张图片
用asp.net基于C#编写简单登录注册界面(访问数据库)_第11张图片
完成了!

你可能感兴趣的