學生資訊管理系統之優化篇終結 03

2022-09-14 08:33:11 字數 2277 閱讀 7145

前言:學生系統第一次驗收完畢,測試出來了一堆bug。還需要優化的地方,有的優化是自己沒有想到。有的卻實是,自己測試的時候。沒有測試出來,那真是自己做的系統下不了手。不捨得霍霍,還是大師厲害 。廢話不多說,開始分享優化內容。

目錄

下拉框禁止輸入:

修改密碼不能與原密碼一致:

3021最終解決方案:

成績大小判斷:

總結:要求使用者只能在下拉框裡面選擇內容,禁止使用者輸入:

**:利用ascii碼進行限制

private sub combo***_keypress(keyascii as integer)

keyascii = 0

end sub

這種方法可以,在修改窗體使用。還一種直接修改屬性,但是只能在新增型別的窗體使用。

屬性:把style屬性,改成2就行了!

這個思路,和原來修改密碼的思路差不多。只不過多了一層對舊密碼的判斷而已! 想要對舊密碼的判斷,首先是得到舊密碼。然後才能判斷對和對比,這裡用到方法和獲取使用者名稱否方法一致。先在模組宣告全域性變數 userpwd,用於登入的時候把正確密碼賦值給 全域性變數userpwd. 使用方法:在修改密碼窗體呼叫,全域性變數和輸入的密碼框裡的內容進行對比。判斷要修改的密碼,是否和原來的密碼一致!

**模組:

public userpwd as string
窗體:

private sub cmdok_click()

dim txtsql, msgtext as string 'sql查詢

dim mrc as adodb.recordset '記錄集

'判斷密碼是否一致

if trim(text1(1).text) <> trim(text1(2).text) then

msgbox "兩次密碼不一致,請重新輸入!", vbokonly + vbexclamation, "警告"

text1(1).setfocus

text1(1).text = ""

text1(2).text = ""

else

txtsql = "select * from user_info where user_id='" & username & "'" '獲取使用者資訊

set mrc = executesql(txtsql, msgtext)

'判斷是否和原密碼重複

if (userpwd = text1(1).text) then

msgbox "與舊密碼重複,請從新修改!", vbokonly + vbexclamation, "警告"

text1(1).setfocus

text1(1).text = ""

text1(2).text = ""

else

mrc.fields(1) = text1(1).text '密碼

mrc.update '更新密碼

mrc.close '關閉記錄集

msgbox "密碼修改成功!", vbokonly + vbexclamation, "警告"

me.hide

end if

end if

end sub

檢視按鈕:

on error goto gperror '錯誤處理

'顯示第一條

mrc.movefirst

'呼叫函式過程顯示資料

call viewdata

gperror:

就一顯示第一條為例,在每乙個事件裡。新增乙個異常處理功能!

雖然不是直接解決,間接性解決!

在新增成績的時候,發現成績的值沒有限制。普遍一科的成績大約都是150左右,所以既然有需求那就實現!

**:

private sub txtresult_change()

if val(txtresult.text) > 150 then '如果大於150

msgbox "已超過要求範圍,請從新輸入!", vbokonly + vbexclamation, "警告"

txtresult.setfocus

txtresult.text = ""

end if

end sub

這次已經是第二遍完成,學生管理系統了。相對於第一遍來說,也明白了很多。多於表之間的聯絡,也比較清楚。整體學生的思路,與資料庫之間的互動也比較清楚。總之,邊學習變成長吧!

學生資訊管理系統小結 優化篇

學生資訊管理系統 一 是遇到的問題,除錯後能執行。而執行不是目的,讓使用者喜歡才是目的。所以我們要優化我們的系統。開始很信任 給的原始碼,其實只要你知識豐富了些或思考了,就發現有很多不對的地方。1.日期新增方式自動轉換 txtrudate.text replace txtrudate,txtruda...

學生資訊管理系統 優化篇(1)

1.輸入數字和刪除鍵 private sub txtsid keypress keyascii as integer if keyascii 8 and keyascii 48 or keyascii 57 then keyascii 0 end if end sub2.輸入中英文及刪除鍵 priv...

學生資訊管理系統之優化二

查詢窗體核取方塊優化 核取方塊取消勾選之後文字框中的內容和查詢的內容也被清空 check 取消後面的內容隨之取消 private sub check1 click if not check1.value then txtsid.text with myflexgrid rows 2 cellalig...