




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
登錄模塊設(shè)計(jì)本講大綱:1.登錄模塊概述2.登錄模塊技術(shù)分析3.登錄模塊實(shí)現(xiàn)過程支持網(wǎng)站:登錄模塊概述登錄模塊主要是通過輸入正確的用戶名和密碼進(jìn)入主窗體,它可以提高程序的安全性,保護(hù)數(shù)據(jù)資料不外泄。登錄窗體運(yùn)行結(jié)果如圖14.20所示。圖14.20登錄窗體運(yùn)行結(jié)果登錄模塊技術(shù)分析登錄窗體使用了SqlDataReader對(duì)象從數(shù)據(jù)源中檢索只讀數(shù)據(jù)集,該對(duì)象只允許以只讀、順向的方式查看其中所存儲(chǔ)的數(shù)據(jù)??梢杂迷搶?duì)象的GetString(n)、GetInt32(n)、GetDataTime(n)等方法讀取指定字段的值,n表示當(dāng)前表中字段的列數(shù)。下面給出SqlDataReader對(duì)象在獲取字段值時(shí)所用的方法,如表14.17所示。表14.17
SqlDataReader對(duì)象中的主要方法參
數(shù)
值描
述GetBoolean獲取指定列的布爾值形式的值GetDateTime獲取指定列的DateTime對(duì)象形式的值GetDouble獲取指定列的雙精度浮點(diǎn)數(shù)形式的值GetFloat獲取指定列的單精度浮點(diǎn)數(shù)形式的值GetInt32獲取指定列的32位有符號(hào)整數(shù)形式的值GetName獲取指定列的名稱下面給出用SqlDataReader對(duì)象讀取數(shù)據(jù)表中各字段值的應(yīng)用。代碼如下:
SqlConnection
My_con;//用于打開數(shù)據(jù)庫的連接string
M_str_sqlcon
=
"Data
Source=MRDEL\\MRDEL;Database=db_PWMS;User
id=sa;PWD=";//用SqlConnection對(duì)象與指定的數(shù)My_con=new
SqlConnection(M_str_sqlcon);據(jù)庫相連接My_con.Open();//打開數(shù)據(jù)庫的連接SqlCommand =
My_con.CreateCommand();//創(chuàng)建一個(gè)SqlCommand對(duì)象,用于執(zhí)行SQL語句//tb_TemTable表的字段為:ID(int),Name(varchar(20)),Date(datetime),Wage(float).CommandText="select
*
from
tb_TemTable";
//獲取指定的SQL語句//讀取首記錄信息//獲取指定字段中的值SqlDataReader
My_read
=
.ExecuteReader();string
SID
=
"",
SName
=
"",
SDate
=
"",
SWage
="";if
(My_read.Read()){SID
=
My_read.GetInt32(0).ToString();SName
=
My_read.GetString(1);SDate
=
(My_read.GetDateTime(2).ToShortDateString()).ToString();SWage
=
Convert.ToString(My_read.GetDouble(3));}登錄模塊實(shí)現(xiàn)過程本模塊使用的數(shù)據(jù)表:tb_Login(1)新建一個(gè)Windows窗體,命名為F_Login.cs,主要用于實(shí)現(xiàn)系統(tǒng)的登錄功能。該窗體用到的主要控件如表14.18所示。表14.18
登錄窗體用到的主要控件控件類型控件ID主要屬性設(shè)置用
途textName無輸入登錄用戶名textPassPasswordChar屬性設(shè)置為*輸入登錄用戶密碼butLoginText屬性設(shè)置為“登錄”登錄butCloseText屬性設(shè)置為“取消”取消(2)在登錄窗體加載時(shí),首先要用DataClass文件夾下的MyMeans類中的自定義方法con_open()來連接數(shù)據(jù)庫,當(dāng)數(shù)據(jù)庫連接失敗時(shí),彈出提示信息,并關(guān)閉整個(gè)工程;否則,顯示登錄窗體,進(jìn)行登錄。詳細(xì)代碼如下:private
void
F_Login_Load(object
sender,
EventArgs
e){try{MyClass.con_open();textName.Text
=
"";textPass.Text
=
"";//連接數(shù)據(jù)庫//清空“用戶名”文本框//清空“密碼”文本框//當(dāng)連接失敗時(shí),顯示錯(cuò)誤提示信息}catch{MessageBox.Show("數(shù)據(jù)庫連接失敗。","提示",MessageBoxButtons.OK,//關(guān)閉整個(gè)工程MessageBoxIcon.Information);Application.Exit();}}(3)當(dāng)用戶輸入用戶名和密碼后,單擊“登錄”按鈕進(jìn)行登錄。在“登錄”按鈕的Click事件中,首先判斷用戶名和密碼是否為空,如果為空,則彈出提示框,通知用戶將登錄信息添寫完整,否則將判斷用戶名和密碼是否正確,如果正確,則進(jìn)入本系統(tǒng)。詳細(xì)代碼如下:private
void
butLogin_Click(object
sender,
EventArgs
e)if
(textName.Text
!=
""
&
textPass.Text
!=
""){//用自定義方法
()在tb_Login數(shù)據(jù)表中查找是否有當(dāng)前登錄用戶SqlDataReader
temDR
= ("select
*
from
tb_Login
where
Name='"
+textName.Text.Trim()
+
"'
and
Pass='"
+
textPass.Text.Trim()
+
"'");bool
=temDR.Read();
//必須用Read()方法讀取數(shù)據(jù)if
(
)量中前操作員編號(hào)連接{//當(dāng)有記錄時(shí),表示用戶名和密碼正確DataClass.MyMeans.Login_Name=textName.Text.Trim();//將用戶名記錄到公共變DataClass.MyMeans.Login_ID
=
temDR.GetString(0);
//獲取當(dāng)DataClass.MyMeans.My_con.Close();
//關(guān)閉數(shù)據(jù)庫DataClass.MyMeans.My_con.Dispose();
//釋放所有資源DataClass.MyMeans.Login_n=(int)(this.Tag);
//記錄當(dāng)前窗體的Tag屬性值this.Close();//關(guān)閉當(dāng)前窗體注意:
將登錄的用戶名記錄在DataClass文件夾下MyMeans類的自定義變量Login_Name中,當(dāng)用戶修改自已的用戶名時(shí),通過該變量,將修改后的用戶名顯示在主窗體的狀態(tài)欄中。
用DataClass文件夾下MyMeans類的自定義變量Login_n記錄登錄窗體的Tag屬性值,當(dāng)進(jìn)入主窗體時(shí),通過該變量,判斷是否重新設(shè)置各菜單項(xiàng)與用戶權(quán)限的關(guān)系。(4)由于本系統(tǒng)的登錄窗體與重新登錄窗體調(diào)用的是同一個(gè)窗體,所以在單擊“取消”按鈕時(shí),要通過該窗體的Tag屬性值進(jìn)行判斷,如果當(dāng)前是登錄窗體,則關(guān)閉整個(gè)工程,否則只關(guān)閉當(dāng)前窗體。詳細(xì)代碼如下:private
void
butClose_Click(objectsender,
EventArgs
e){//當(dāng)窗體的Tag屬性值為1時(shí),表示當(dāng)前窗體為登錄窗體if
((int)(this.Tag)
==1)
{DataClass.MyMeans.Login_n
=
3;App
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 事業(yè)單位員工停薪留職合同范例
- 保姆工作合同樣本
- 檔口分租合同
- 醫(yī)院臨時(shí)工聘用勞動(dòng)合同范文二零二五年
- 二零二五版管理人員聘用合同集錦
- 工程項(xiàng)目施工管理協(xié)議
- 二零二五頂管施工安全協(xié)議
- 高速鐵路突發(fā)事件的處理-教案
- 弱電安全施工方案
- 部編人教版四年級(jí)語文上冊(cè)《蝴蝶的家》教學(xué)設(shè)計(jì)
- 冷鏈物流成本控制-全面剖析
- 有關(guān)商品房預(yù)售合同樣本合同樣本7篇
- 2025年高考物理復(fù)習(xí)備考策略講座
- 管理學(xué)基礎(chǔ)-形考任務(wù)三-國(guó)開-參考資料
- 2024-2025學(xué)年北師大版七年級(jí)數(shù)學(xué)上冊(cè)期末復(fù)習(xí)壓軸題12個(gè)(84題)含答案
- 2025年3月版安全環(huán)境職業(yè)健康法律法規(guī)標(biāo)準(zhǔn)文件清單
- T∕CEC 442-2021 直流電纜載流量計(jì)算公式
- 第二十一章傳導(dǎo)熱療法講解
- 2023年5月7日內(nèi)蒙古事業(yè)單位聯(lián)考職業(yè)能力傾向測(cè)驗(yàn)A類真題答案解析
- 管道溝槽開挖施工方案
- 《入職心得分享》課件
評(píng)論
0/150
提交評(píng)論