【ASP.NET】VS2015连接SQL Server数据库,实现登录、注册


【ASP.NET】VS2015连接SQL Server数据库,实现登录、注册

1. 实验目标

在SQLServer2014上建立Dabase1数据库,内含UserTable数据表,内含 UId、Psd (登录名、密码)两个属性,完成老用户的登录(log.aspx)、新用户的注册(Register.aspx),并在成功之后跳转至个人主页(userinfo.aspx),同时使用session传递显示用户信息

2. 难点

需要自己在SQL Server中建立数据库,其中
1. 下载配置SQL Server很麻烦
2. 在SQL Server中进行SQL登录很麻烦
- VS2015自带LocalDB数据库用法详解
- 完整的ASP.NET 连接SQL Server 简单测试实例(含下载)
- 创建数据库
- 部署与连接
- 大佬无私共享
- asp.net连接数据库(SQL Server 2005 Express)详细说明
3. 在VS2015中连接SQL Server的自己的数据库进行身份验证很麻烦
4. ASP.NET 的数据库查询语句基于C# 之前没学过上课也没听 写的时候就很烦躁 。发现 其中@UId用于参数传递还挺神奇,居然还要配合Add和Parameters[“自定义key值”]传参,cmd.ExecuteScalar()用起来比较新鲜,只记录匹配的第一行的第一列

3. 问题

3.1 SQL Server

(1)
【问题】数据库连接问题
【解决方法】数据库连接,修改webconfig.config文件
ASP.NET 4.x本来就存在着App_Data的系统文件夹,用来存放数据库文件

string connStr = @“Data Source=
(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True”;
Database1.mdf 指数据库文件

(2)
【问题】一开始以为直接在“表”文件夹中添加新表就可以,但后来发现应该在“表/外部表”文件夹下添加新表,新表的建表语句同MySQL

ASP.NET创建数据库的方法

【解决方法】参考了一下链接
https://www.jb51.net/article/116982.htm
https://www.csdn.net/gather_29/MtTaUgysMDc2NS1ibG9n.html 创建数据库
https://www.cnblogs.com/lxsky/p/12725018.html 部署与连接
https://www.cnblogs.com/yuangang/p/5720653.html 无私共享
https://www.cnblogs.com/czh-liyu/archive/2008/02/14/1069145.html
在这里插入图片描述并顺利连接到数据库,最后顺利链接成功。
在这里插入图片描述

3.2 Demo练习

(1)由于注册的时候需要对数据库insert,所以先练一下基本步骤。首先在SQL Server中 建立了4张表并输入数据,学会了SQL Server的建表操作
在这里插入图片描述在这里插入图片描述

(2)在teacher.aspx页面中,利用GridView和SQLDataSource控件实现了将teacher表的信息可视化显示在Web上首先通过步骤8,成功建立了和SQL Server数据源(2020SM数据库)的链接
在这里插入图片描述(上图从左到右分别是teacher数据表在VS内的代码视图和浏览器中的实现)

(3)为了实现对数据库的操作,在teacher表中添加了一个可以对teacher_name进行编辑的列,使用 控件
在这里插入图片描述(上下两张图分别是添加编辑功能后的VS内部显示和浏览器显示)

(4)teacher.aspx.cs的页面的GridView1_SelectedIndexChanged方法中,添加对数据库的操作
在这里插入图片描述
【问题】除非指定了 UpdateCommand,否则数据源“SqlDataSource1”不支持更新操作。
【解决方法】https://blog.csdn.net/joytesting/article/details/31057559 这样改:
在这里插入图片描述

(5)点击编辑,对数据库进行动态操作
在这里插入图片描述

(6)在原来的aspx页面上添加button空控件,实现点击以后查找表格的所有信息
【问题】
在这里插入图片描述
在小Demo中顺利实验完毕,接下来可以继续改代码了

3.3 编写页面时的错误

(1)
【问题】
在写注册页面时报错:
System.InvalidOperationException: WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping。请添加一个名为 jquery (区分大小写)的 ScriptResourceMapping。
【解决方法】
在aspx页面的Page_Load方法中添加如下代码:
UnobtrusiveValidationMode = UnobtrusiveValidationMode.None;
【原因】
.net framework4.5开发中, Unobtrusive ValidationMode是一种隐式的验证方式,需要前端调用jquery来进行身份验证。且默认启用。

(2)
【问题】
注册按钮太丑了
在这里插入图片描述 【解决方法】 修改style中 button 的 样式(最终结果请见最后)

(3)
【问题】
登录页面的div太丑了
在这里插入图片描述
【解决方法】 修改样式并设置font-weight:bold;加粗字体
在这里插入图片描述
【结果】
在这里插入图片描述

(4)
【问题】
——但是 HELLO! 和页面顶部间距过大
【解决方法】 修改css样式中 form margin-top属性
在这里插入图片描述
(5)
【问题】cmd.Parameters.Add("@UId", SqlDbType.Char); 添加时的报错
【解决】
SqlConnection类 数据库连接 导入using System.Data.SqlClient;
SqlDbType类 导入using System.Data;

(6)
【问题】index页面图片太小不适合浏览器,不美观
【原代码】
<img src="./Image/hello01.jpg" width=“500”/>
【解决方法】 %保证图片大小跟随窗口大小变化
<img src="./Image/hello01.jpg" style=“width: 100%; height: 100%”/>


(7)
【问题】log页面的错误
由于想通过匹配用户输入信息,于是使用了.ExecuteScalar(),按照输入的@UId(即用户名)和@Psd(密码)在数据库中进行过查找,由于用户名是主键,是唯一的,所以如果有count就不为0(就是1),那么就可以进行登录。但之前count==1有报错
【解决方法】改为count != 0 就好啦!

4. 总结

由于之前进行了练习,所以后来在做页面增删改查的时候就会很顺利。在这次实验中,一共做了3个页面,分别是登录页面(log.aspx)——注册页面(Register.aspx)——个人页面(userinfo.aspx),页面功能图如下:
在这里插入图片描述

5. 页面

(1) log.aspx
在这里插入图片描述

(2)Register.aspx
在这里插入图片描述
(3) userinfo.aspx!
在这里插入图片描述
(4)数据库和表
在这里插入图片描述

6. 主要代码

(1) log.aspx.cs
在这里插入图片描述
(2) Register.aspx.cs

(3) userinfo.aspx.cs
在这里插入图片描述
20200612

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值