1. 程式人生 > 實用技巧 >使用ADO.NET連線資料庫--實戰案例(一)

使用ADO.NET連線資料庫--實戰案例(一)

實驗名稱:使用使用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