1 建立注册账号界面
(1)使用文本控件接受用户输入的用户名、密码、姓名、电子邮箱下、手机号码等信息。
(2)使用按钮控件发起注册动作。
在已经建了的项目下 点击.aspx文件就会在左下角里会有以下的字眼(设计,拆分,源)三个选则,这三个选择是三种不同的形态,是用来切换来设置界面和调节界面的。你可以全部都试一下看看他们的区别 ——拆分是设计和源都能共同在一个界面看到;设计是可以拖控件和设置控件属性的地方;源是写编辑样式、控件、文字等的地方。
拆分如下图,它由设计和源组成(注意看黄色的字条处有提醒)
设计如下图所示:它是由工具箱、界面和控件属性处等共同组成了设计的模块。
源如下图所示:它最主要的功能便是编写代码。那么旁边为什么会有工具箱呢?原来是应为他只要点过一次设计那么它便会出现在那里,除非你把它关了,那么它就会一直在旁边,来便捷你来操作。
.aspx文件的源代码处的模样(由于这是生成页面,所以你也可以在设计界面直接拖控件然后编辑文字,也可以实现,这时在源代码界面的代码会跟着你在设计界面的操作自动生成)
这是原文的:
源代码:在这里<br/>是用来换行的,进行页面的美观设计而需要。当然的这是由你选择换不换行,换多少行都可以的,在这上面问题不大。
<div>
<h2>注册功能</h2>
<p> 用户名:<asp:TextBox ID="Usernamen" runat="server"></asp:TextBox>
</p>
<p> 密码:<asp:TextBox ID="Password" runat="server"></asp:TextBox>
<asp:Button ID="Button3" runat="server" Text="注册" OnClick="Button3_Click" />
</p>
<p> 姓名:<asp:TextBox ID="RealName" runat="server"></asp:TextBox></p>
<br />
<asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
<br/>
邮箱:<asp:TextBox ID="Eamil" runat="server"></asp:TextBox>
<br />
<br />
手机号码:<asp:TextBox ID="Phone" runat="server"></asp:TextBox>
</div>
这是设计界面的设置
当你发现上面的代码有些难或有些乱或者不是很懂,那么你就可以选择这个来进行设置界面。进行一个拖控件来实现界面的美观,它和winform一样进行控件的属性来进行定义和更好的区分控件之间的区别。
2 准备SQL Server 数据源
实验步骤为:
1)建立数据库
使用SQL Server软件连接SQL Server实例,并建立“Bookshop"数据库。
2)建立用户信息表。
在“Bookshop”数据库中建立“CustomerInfo”表,如下图所示,表中各字段参考如下图,设置字段id为主键且自动增长。
至此,SQL Server数据库已经具备存储信息的基本结构。
用户信息字段列表
3 实现注册的过程
注册过程即将顾客在注册账号界面中填写的信息写入信息表中,注册过程从顾客单机“注册”按钮开始,所以注册过程的实现代码应填写在button3按钮的Click事件中。
记得引用如下图:我这里是三个有一个是系统自有的,你们不一定就只有三个引用,但这两个一定得有。
SqlConnection conn = null;
try
{
//连接字符串,提供SQL Server 数据库地址、数据库名、验证方式等信息
string connStr = @"Data Source = .;Initial Catalog = Bookshop;Integrated Security=Ture;";
//建立连接对象
conn = new SqlConnection(connStr);
//打开连接
conn.Open();
//查询用户名是否已被使用的SQL语句
string sql = "SELECT * FROM CustomerInfo WHERE username = @ username";
//建立命令对象
SqlCommand cmd = new SqlCommand(sql, conn);
//为命令对象设置查询参数,参数名称应与SQL 语句中的命令参数一致
cmd.Parameters.Add("@ username", SqlDbType.VarChar).Value = UsernamenField.Text;
//执行命令对象并获得读取器
SqlDataReader reader = cmd.ExecuteReader();
//判断读取器中是否有内容,即是否已有顾客使用该用户
if (reader.Read())
{
Label2.Text = "注册失败,该用户名已被使用。";
return;
}
reader.Close();
//向顾客信息表中插入顾客信息事务SQL语句
sql = "INSERT INTO CustomerInfo VALUES (@username,@password,@realname,@email,@phone,GETDATE())";
cmd = new SqlCommand(sql, conn);
cmd.Parameters.Add("@username", SqlDbType.VarChar).Value = UsernamenField.Text;
cmd.Parameters.Add("@password", SqlDbType.VarChar).Value = PasswordField.Text;
cmd.Parameters.Add("@realname", SqlDbType.VarChar).Value = RealNameField.Text;
cmd.Parameters.Add("@email", SqlDbType.VarChar).Value = EamilField.Text;
cmd.Parameters.Add("@phone", SqlDbType.VarChar).Value = PhoneField.Text;
//执行命令对象
cmd.ExecuteNonQuery();
//提示顾客注册成功
Label2.Text = "注册成功";
}
catch
{
//提示顾客注册失败
Label2.Text = "注册失败";
}
finally
{
//关闭连接
if (null != conn)
{
conn.Close();
}
}
图片(部分)