您的位置:首页 > 编程语言 > ASP

asp.net简单网站的实现

2016-06-09 15:19 579 查看
</pre><p></p><pre name="code" class="csharp">
好久没有写博客了 虽然是个很弱的渣渣 不过还是希望通过写博客来督促自己不断学习 不断进步,端午假期,没有什么安排,虽然四级在即,末考将至。不过还是提不起很大的兴趣,所以写篇博客记录下我实现这个网站的简单过程。

数据库根据老师的要求和课本的原因,选择了sql server 2014 原因是之前在上数据库这门课程的时候 安装了2008,但是 一直提示兼容性问题,懒得折腾,就下载了2012版本,但是下载了是具有完整功能的企业版,安装完之后占了c盘10个g,由于是固态硬盘,存储空间有限,而且作为一个初学者,觉得划不来,于是就下载了具有基本功能的2014版本 版本名为cn_sql_server_2014_express_with_advanced_services_with_service_pack_1_x64_6673845 

说了这么多废话,进入正题 在vs中新建ASP.net网站空项目 之后添加页面 并在页面添加基本的控件

一 主要功能的实现是查询我们班同学的成绩 在查询页面 通过以下形式实现

1在textbox框输入学号 加入bottom按钮实现查询功能 

2工具箱--Gridview控件--连接数据库 连接到数据库后 设置需要显示的数据列 由于我是根据学号进行筛选 所以我在配置select语句使用了where语句 

3 加入新的gridview空间 使其显示全部数据 方法和2相似 

4 页面之间的跳转使用esponse.Redirect("xxx.aspx");xxx代表使用页面的名称

二 由于觉得单单实现上述功能太过简单 所以我就试着加入用户登录和注册功能,注册较好实现,就是再数据库实现增加数据,而登录虽然可以实现,实际却存在很大的问题

1 注册功能

在实现注册功能时 考虑了以下几种情况

(1)用户名相同

贴上代码段

SqlConnection con = new SqlConnection();
con.ConnectionString = "Data Source=.;Initial Catalog=cdshop;Integrated Security=True;Database=用户注册";
con.Open();//连接数据库
string check = "select * from 注册信息表 where 账号='" + TextBox1.Text + "'";
SqlDataAdapter da = new SqlDataAdapter(check, con);                     //创建适配器
DataSet ds = new DataSet();                                         //创建数据集
da.Fill(ds, "table");                                                   //填充数据集
if (da.Fill(ds, "table") > 0)                                               //判断同名
{
Label4.Text = "注册失败,有相同用户名";                                //输出信息
}


在这里使用了一个fill方法 判断是否存在相同用户名,同时也可以使用contain方法,也可以实现

(2)存在特殊字符

使用了contain方法

protected bool Check(string text)                                               //判断实现
{
if (text.Contains("<") || text.Contains(">") || text.Contains("'") ||
text.Contains("//") || text.Contains("\\"))                                   //检查字串
{
return true;                                                        //返回真
}
else
{
return false;                                                       //返回假
}
}

protected void Button1_Click(object sender, EventArgs e)
{
if(Check(TextBox1.Text)|| Check(TextBox2.Text) || Check(TextBox3.Text))
{
Label4.Text = "用户信息中不能够包含特殊字符如<,>,',//,\\等,请审核";
}
else
(3)成功注册的完整代码

protected bool Check(string text)                                               //判断实现
{
if (text.Contains("<") || text.Contains(">") || text.Contains("'") ||
text.Contains("//") || text.Contains("\\"))                                   //检查字串
{
return true;                                                        //返回真
}
else
{
return false;                                                       //返回假
}
}

protected void Button1_Click(object sender, EventArgs e)
{
if(Check(TextBox1.Text)|| Check(TextBox2.Text) || Check(TextBox3.Text))
{
Label4.Text = "用户信息中不能够包含特殊字符如<,>,',//,\\等,请审核";
}
else
{
SqlConnection con = new SqlConnection(); con.ConnectionString = "Data Source=.;Initial Catalog=cdshop;Integrated Security=True;Database=用户注册"; con.Open();//连接数据库 string check = "select * from 注册信息表 where 账号='" + TextBox1.Text + "'"; SqlDataAdapter da = new SqlDataAdapter(check, con); //创建适配器 DataSet ds = new DataSet(); //创建数据集 da.Fill(ds, "table"); //填充数据集 if (da.Fill(ds, "table") > 0) //判断同名 { Label4.Text = "注册失败,有相同用户名"; //输出信息 }
else

{
try
{

string strsql = "insert into 注册信息表 (账号,密码,邮箱) values ('" + TextBox1.Text + "', '" + TextBox2.Text + "', '" + TextBox3.Text + "')";
SqlCommand cmd = new SqlCommand(strsql, con); //创建执行
cmd.ExecuteNonQuery(); //执行SQL
Label4.Text = "注册成功,请牢记您的信息"; //提示成功
}
catch
{
Label4.Text = "出现错误信息,请返回给管理员"; //抛出异常
}

}
}
}


在这里使用了一个异常处理

2 登录实现

由于自己并没有web的任何基础 所以也不明白登录的状态是如何实现 在这里就贴上我的代码段

protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection();
con.ConnectionString = "Data Source=.;Initial Catalog=cdshop;Integrated Security=True;Database=用户注册";
con.Open();//连接数据库
string sql = "select * from 注册信息表 where 账号='"+TextBox1.Text+"'and 密码 = '"+TextBox2.Text+"'";
SqlDataAdapter da = new SqlDataAdapter(sql, con);//创建适配器
DataSet ds = new DataSet();//创建数据集
int count = da.Fill(ds, "table");//填充数据集
if (count>0)
{
Session["账号"] = TextBox1.Text;
Session["密码"] = TextBox2.Text;
Label1.Text = "登陆成功!";
Response.Redirect("main.aspx");
}
else
{
Label1.Text = "无法登陆,用户名或密码错误!";
}
con.Close();
}

这里还是通过fill方法 建立dataset数据集 判断是否存在账户 这段代码是百度而来 session应该是很重要的内容 但是我没有进一步去了解 也就造成了在登录界面 输入所有成绩界面的网址 可以跳过登录 直接查看 在这里先挖坑吧 以后过来填
简单的实现 问题也很多 希望自己慢慢进步
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: