2.5 登錄用戶驗(yàn)證功能設(shè)計(jì)
一、用戶登錄效果圖
Gif
二.描述畫面主要功能挣郭,并列出支持這些功能的后臺(tái)數(shù)據(jù)庫表結(jié)構(gòu)
(1)對(duì)數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行連接,并讀取數(shù)據(jù)內(nèi)容;
(2)實(shí)現(xiàn)登錄信息到數(shù)據(jù)庫服務(wù)器上進(jìn)行驗(yàn)證并登錄成
USERS表
三滓走、ADO.NET查詢數(shù)據(jù)庫的流程
連接流程
具體步驟:
導(dǎo)入命名空間;
運(yùn)用Connection對(duì)象建立與數(shù)據(jù)庫連接;
打開連接帽馋;
利用Command對(duì)象的ExecuteReader()方法執(zhí)行Select查詢語句搅方;
利用ExecuteReader()方法返回的DataReader對(duì)象讀取數(shù)據(jù),顯示到界面上茬斧;
關(guān)閉連接腰懂。
四、重要代碼
1项秉、與數(shù)據(jù)庫構(gòu)建連接
String connStr = "Data Source=.;Initial Catalog=SuperMarketSales;Integrated Security=True";
??????????? SqlConnection sqlConn =newSqlConnection(connStr);
??????????? try
??????????? {
???????????????// 連接數(shù)據(jù)庫
??????????????? sqlConn.Open();
??????????????? // 注意USER是SQL Server關(guān)鍵字绣溜,表名不能命名為USER,而應(yīng)當(dāng)用USERS
??????????????? String sqlStr = "select * from EMPLOYEE where ID=@id and PASSWORD=@pwd";
??????????????? SqlCommand cmd =newSqlCommand(sqlStr, sqlConn);
??????????????? // 注意是用用戶ID登錄娄蔼,而不是用戶名怖喻,用戶名可能會(huì)重復(fù)
??????????????? cmd.Parameters.Add(new SqlParameter("@id", this.tb_User.Text.Trim()));
??????????????? cmd.Parameters.Add(new SqlParameter("@pwd", this.tb_Password.Text.Trim()));
??????????????? SqlDataReader dr = cmd.ExecuteReader();
??????????????? // 如果從數(shù)據(jù)庫中查詢到記錄,則表示可以登錄
??? catch(Exception exp)
??????????? {
??????????????? MessageBox.Show("數(shù)據(jù)庫連接失敗");
??????????????? return;
??????????? }
??? finally
??????????? {
??????????????? sqlConn.Close();
??????????? }
2岁诉、用戶驗(yàn)證登錄
if (UserInfo.userType == "收銀員")
{?
?//顯示收銀員主界面
MainFormUser formUser = newMainFormUser();???
formUser.Show();
?//隱藏登錄界面
this.Hide();
}
if (UserInfo.userType == "庫管員")
{??
?//顯示庫管員主界面??
?MainFormAdmin formAdmin = new MainFormAdmin();
?formAdmin.Show();
? //隱藏登錄界面
this.Hide();
}