实验名称:使用使用ADO.NET
连接数据库并创建用户注册、登录界面
步骤:
开启SQL server服务并打开数据库2005。
使用管理员的账户登录SQL;
新建数据库yezi;
在数据库yezi中创建一个表yezi_users;
打开visual studio 2008
其所有代码如下;
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();//关闭数据库连接
}
}
}
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>");//提示
}
}
其代码如下;
{
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();//关闭数据库连接
}
}
按Ctrl+F5,验证一下;
新建普通用户界面和管理员用户界面;如下
给管理员界面加以Buttion按钮,改为“注销”,以提高安全性;
管理员用户.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");
}
}
验证最终的效果;
本文出自 “乐成的技术笔记” 博客,谢绝转载!