1、实验题目用web控件实现注册与登录页面2、实验目的和要求1. 利用所学知识进行页面开发,充分运用所能使用的服务器控件来实现需求。
灵活掌握数据库的连接与访问。
2. 要求页面友好,交互性强。
3. 上机前预习实验,同学们相互间可以讨论;上机过程中要求独立完成;设计出具有各自风格的页面。
3、实验内容1、创建数据库,创建数据表users用来存储用户信息,包含用户名和密码等字段。
2、用web控件实现简单的用户注册页面。
要运用文本框、单选框、复选框、下拉列表、多行文本框、按钮、文件上传等控件实现注册页面,并实现简单验证。
点击提交按钮后讲用户填写的信息写入数据库的数据表,并以文本的形式显示出来。
3、用web控件实现简单的用户登录页面运用文本框、label、按钮等控件实现简单的用户登录页面,登录按钮旁加上新用户注册按钮,连接到用户注册页面。
用户输入用户名和密码后连接数据库进行验证,输入正确则提示用户欢迎登录,并显示欢迎图片;否则提示用户名或密码错误,显示相应错误提示图片。
4、实验代码登录界面代码:Imports System.Data.SqlClientImports System.DataPartial Class 登录页面Inherits System.Web.UI.PageProtected Sub Btnzhuce_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Btnzhuce.ClickResponse.Redirect("regist.aspx")End SubProtected Sub BtnLogin_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnLogin.ClickDim UserLoginName As String = TextBoxname.Text.Trim()Dim UserPwd As String = TextBoxpass.Text.Trim()Dim conn As New SqlConnection()Dim cmd As New SqlCommand()conn.ConnectionString = "server=localhost;database=student;uid=sa;pwd=" Dim sqlcomtext As String = "select * from users where Uname='" & TextBoxname.Text & "' and Upass='" & TextBoxpass.Text & "'"conn.Open()Dim Sqlcom As SqlCommand = New SqlCommand(sqlcomtext, conn)If Sqlcom.ExecuteScalar() <> Nothing ThenSession.Add("Uname", "UserLoginName")conn.Close()Response.Redirect("main.aspx")ElseResponse.Write("<script>alert('输入的用户名或密码错误')</script>") TextBoxname.Text = ""TextBoxpass.Text = ""TextBoxname.Focus()End Ifconn.Close()End SubEnd Class2、登录成功后的页面代码:Partial Class mainInherits System.Web.UI.PageProtected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.ClickResponse.Redirect("login.aspx")End SubEnd Class3、注册界面代码:Imports System.Data.SqlClientImports System.DataPartial Class 注册页面Inherits System.Web.UI.PageProtected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.LoadMsgPanel.Visible = False ' 隐藏Panel控件Dim conn As New SqlConnection '创建connection对象Dim cmd As New SqlCommandDim adpt As New SqlDataAdapterDim ds As New DataSetconn.ConnectionString = "server=localhost;database=student;uid=sa;pwd= " '设置connection对象的链接串"conn.Open() '打开连接mandText = "select * from users" '设置CMD对象的sql命令cmd.Connection = conn '设置CMD对象的连接属性adpt.SelectCommand = cmd '设置查询数据源的sql命令adpt.Fill(ds, "users")conn.Close()End SubProtected Sub BtnZhuce_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnZhuce.ClickDim conn As New SqlConnectionconn.ConnectionString = "server=localhost;database=student;uid=sa;pwd= "Dim cmd As New SqlCommandDim adpt As New SqlDataAdapteradpt.SelectCommand = cmdmandText = "select * from users"cmd.Connection = connconn.Open()adpt.InsertCommand = New SqlCommandmandText = "insert into users values (@Uname,@Upass,@Uage)"adpt.InsertCommand.Connection = connadpt.InsertCommand.Parameters.Add("@Uname", SqlDbType.VarChar, 50, "Uname")adpt.InsertCommand.Parameters.Add("@Upass", SqlDbType.VarChar, 50, "Upass")adpt.InsertCommand.Parameters.Add("@Uage", SqlDbType.VarChar, 50, "Uage")Dim ds As New DataSetadpt.Fill(ds, "users")conn.Close()Dim usertab As DataTable = ds.Tables("users")Dim userRow As DataRow = usertab.NewRowuserRow("Uname") = Me.TextBoxname.TextuserRow("Upass") = Me.TextBoxpass.TextuserRow("Uage") = Me.TextBoxage.Textusertab.Rows.Add(userRow)adpt.Update(ds, "users")End SubProtected Sub ShowMsg(ByVal sender As Object, ByVal e As System.EventArgs) Dim i As IntegerMsgName.Text = "用户名:" & TextBoxname.TextMsgPass.Text = "密码:" & TextBoxpass.TextMsgSex.Text = "性别:" & sex.TextMsgAge.Text = "年龄:" & TextBoxage.TextMsgBlood.Text = "血型:" & blood.TextMsgIntrest.Text = "兴趣:"For i = 0 To CheckBoxList1.Items.Count - 1If CheckBoxList1.Items(i).Selected ThenMsgIntrest.Text = MsgIntrest.Text & CheckBoxList1.Items(i).Text End IfNextMsgMail.Text = "邮箱:" & TextBoxmail.TextMsgPS.Text = "备注:" & TextBoxps.TextMsgPanel.Visible = True ' 显示Panel控件End SubEnd Class5、实验结果1、创建数据库中的users表如下:2.运行登录页面,如下图:3、输入用户名与密码,若正确,点击登录,则会转到下图:若用户名和密码与数据库中的不对应,则会出现下图:4、回到登录页面,点击注册,则会出现下图:5、填入信息,如下图:6、点击提交,得到下图:1>2>3>7、注册成功后,数据库中的users表如下图:6、实验总结这次的实验,使我掌握了数据库的连接与访问,对服务器中的控件有了一点的熟悉及掌握了控件的一些应用,本次实验有一点的难度,实验过程中遇到了许多难题,如各个控件的触发事件,经过和同学一起讨论了以后,完成了本次实验。