使用ADO.NET連線資料庫--實戰案例(一)
阿新 • • 發佈:2020-10-19
實驗名稱:使用使用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");
}
}
驗證最終的效果;