電子課件第14章05登錄模塊設(shè)計(jì)_第1頁
電子課件第14章05登錄模塊設(shè)計(jì)_第2頁
電子課件第14章05登錄模塊設(shè)計(jì)_第3頁
電子課件第14章05登錄模塊設(shè)計(jì)_第4頁
電子課件第14章05登錄模塊設(shè)計(jì)_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論