实验名称:使用使用ADO.NET连接数据库并创建用户注册、登录界面
步骤:
开启SQL server服务并打开数据库2005。
clip_p_w_picpath001
clip_p_w_picpath003
使用管理员的账户登录SQL;
clip_p_w_picpath004
新建数据库yezi;
clip_p_w_picpath005
clip_p_w_picpath007
在数据库yezi中创建一个表yezi_users;
clip_p_w_picpath008
clip_p_w_picpath009
clip_p_w_picpath010
clip_p_w_picpath011
clip_p_w_picpath012
clip_p_w_picpath013
打开visual studio 2008
clip_p_w_picpath014
clip_p_w_picpath015
clip_p_w_picpath016
clip_p_w_picpath018
clip_p_w_picpath020
clip_p_w_picpath021
clip_p_w_picpath022
clip_p_w_picpath024
clip_p_w_picpath026
clip_p_w_picpath027
clip_p_w_picpath028
其所有代码如下;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("userreg.aspx");
}
protected void Button2_Click(object sender, EventArgs e)
{
string sqla = @"server=.;database=yezi;UID=sa;PWD=123.com";//连接数据库的字串
SqlConnection conn = new SqlConnection(sqla);//通过数据库的字串连接数据库
conn.Open();//打开连接
string sqlinscmd = @"select * from yezi_users where username='" + TextBox1.Text + "'";//sql命令字串
SqlCommand sqlcmd = new SqlCommand(sqlinscmd, conn);//让sql命令字串通过conn连接去执行
SqlDataReader dr = sqlcmd.ExecuteReader();//把sql命令产生的行写入dr数组,一次一行
if (dr.Read())//dr.Read()执行读取
{
if (dr["userpwd"].ToString() == TextBox2.Text)
{
if (dr["shibie"].ToString() == "0")
{
Response.Write("<script>alert('普通用户登录成功');window.location='普通用户.aspx';</script>");//提示
}
else if (dr["shibie"].ToString() == "1")
{
Session["admin"] = "234.com";
Response.Write("<script>alert('管理员登录成功');window.location='管理员用户.aspx';</script>");//提示
}
else
{
Response.Write("<script>alert('密码错误')</script>");//提示
}
}
else
{
Response.Write("<script>alert('用户不存在')</script>");//提示
}
conn.Close();//关闭数据库连接
}
}
}
clip_p_w_picpath029
clip_p_w_picpath030
clip_p_w_picpath032
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
public partial class userreg : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox2.Text == TextBox3.Text)
{
string sqla = @"server=.;database=yezi;UID=sa;PWD=123.com";//连接数据库的字串
SqlConnection conn = new SqlConnection(sqla);//通过数据库的字串连接数据库
SqlConnection conn1 = new SqlConnection(sqla);//通过数据库的字串连接数据库
conn.Open();//打开连接
string sqlinscmd = @"select * from yezi_users where username='" + TextBox1.Text + "'";//sql命令字串
SqlCommand sqlcmd = new SqlCommand(sqlinscmd, conn);//让sql命令字串通过conn连接去执行
SqlDataReader dr = sqlcmd.ExecuteReader();//把sql命令产生的行写入dr数组,一次一行
if (dr.Read())//dr.Read()执行读取
{
Response.Write("<script>alert('用户存在')</script>");//提示
}
else
{
conn.Close();//关闭数据库连接
conn.Open();
string sqlinscmd1 = @"insert into yezi_users values('" + TextBox1.Text + "','" + TextBox1.Text + "',0)";//sql命令字串
SqlCommand sqlcmd1 = new SqlCommand(sqlinscmd1, conn);//让sql命令字串通过conn连接去执行
sqlcmd1.ExecuteNonQuery();//执行sql命令
conn.Close();//关闭数据库连接
Response.Write("<script>alert('用户添加成功');window.location('Default.aspx')</script>");//提示
}
}
else
{
Response.Write("<script>alert('两次密码不相同')</script>");//提示
}
}
clip_p_w_picpath033
其代码如下;
{
string sqla = @"server=.;database=yezi;UID=sa;PWD=123.com";//连接数据库的字串
SqlConnection conn = new SqlConnection(sqla);//通过数据库的字串连接数据库
conn.Open();//打开连接
string sqlinscmd = @"select * from yezi_users where username='" + TextBox1.Text + "'";//sql命令字串
SqlCommand sqlcmd = new SqlCommand(sqlinscmd,conn);//让sql命令字串通过conn连接去执行
SqlDataReader dr = sqlcmd.ExecuteReader();//把sql命令产生的行写入dr数组,一次一行
if (dr.Read())//dr.Read()执行读取
{
Response.Write("<script>alert('用户名已经存在')</script>");//提示
}
else
{
Response.Write("<script>alert('恭喜你,用户名可用')</script>");//提示
}
conn.Close();//关闭数据库连接
}
}
clip_p_w_picpath035
按Ctrl+F5,验证一下;
clip_p_w_picpath036
clip_p_w_picpath037
clip_p_w_picpath038
clip_p_w_picpath039
clip_p_w_picpath040
clip_p_w_picpath041
clip_p_w_picpath042
新建普通用户界面和管理员用户界面;如下
clip_p_w_picpath044
clip_p_w_picpath045
clip_p_w_picpath046
给管理员界面加以Buttion按钮,改为“注销”,以提高安全性;
clip_p_w_picpath047
管理员用户.aspx.cs代码如下;
{
{
if (Session["admin"] == null)
{
Response.Redirect("Default.aspx");
}
else if (Session["admin"].ToString() != "234.com")
{
Response.Redirect("Default.aspx");
}
}
}
protected void SqlDataSource1_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
Session.Abandon();
Response.Redirect("Default.aspx");
}
}
验证最终的效果;
clip_p_w_picpath048
clip_p_w_picpath049
clip_p_w_picpath050
clip_p_w_picpath051
clip_p_w_picpath052
clip_p_w_picpath053
clip_p_w_picpath054
clip_p_w_picpath055