2.5 登錄用戶驗證功能設(shè)計
一、用戶登錄效果圖


Gif
二.描述畫面主要功能,并列出支持這些功能的后臺數(shù)據(jù)庫表結(jié)構(gòu)
(1)對數(shù)據(jù)庫的數(shù)據(jù)進行連接,并讀取數(shù)據(jù)內(nèi)容;
(2)實現(xiàn)登錄信息到數(shù)據(jù)庫服務(wù)器上進行驗證并登錄成
USERS表
三、ADO.NET查詢數(shù)據(jù)庫的流程

連接流程
具體步驟:
導(dǎo)入命名空間;
運用Connection對象建立與數(shù)據(jù)庫連接;
打開連接;
利用Command對象的ExecuteReader()方法執(zhí)行Select查詢語句;
利用ExecuteReader()方法返回的DataReader對象讀取數(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)當用USERS
??????????????? String sqlStr = "select * from EMPLOYEE where ID=@id and PASSWORD=@pwd";
??????????????? SqlCommand cmd =newSqlCommand(sqlStr, sqlConn);
??????????????? // 注意是用用戶ID登錄,而不是用戶名,用戶名可能會重復(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、用戶驗證登錄
if (UserInfo.userType == "收銀員")
{?
?//顯示收銀員主界面
MainFormUser formUser = newMainFormUser();???
formUser.Show();
?//隱藏登錄界面
this.Hide();
}
if (UserInfo.userType == "庫管員")
{??
?//顯示庫管員主界面??
?MainFormAdmin formAdmin = new MainFormAdmin();
?formAdmin.Show();
? //隱藏登錄界面
this.Hide();
}