在機房收費系統中,b層中做了好多的判斷,每個判斷都會返回乙個結果作為訊號給u層,如果用已有的boolean值得話,就只有true 或 false 兩種結果,然後我就用了返回字串的方法,如下**:
public function register(newcard as managere.cardentity, newstu as managere.studententity) as string
dim mycifd as new managerd.cardinfodal
dim mysifd as new managerd.stuinfodal
if iscardexist(newcard.cardno) = true then '判斷射頻卡是否已經註冊
register = "cardexsit"
else
if isstuexist(newstu.studentno) then '判斷持卡學生是否已經註冊
mycifd.addcardinfo(newcard)
register = "stuexist"
else
mycifd.addcardinfo(newcard) '講符合條件的註冊新增到資料庫
mysifd.addstuinfo(newstu)
register = "succeed"
end if
end if
end function
但是在判斷得到返回結果時,必須準確寫出字串的每乙個字元才可以,用起來操作性比較差。看到其他人的部落格知道,好多人都是用的拋異常的方法反饋給u層資訊的。這種思路,雖然能實現預定的效果,但是跟我的源**相差甚遠,如果用列舉型別的話,因為跟boolean的效果差不多,應該符合我的思路,接下來去實踐一下,**還差點,馬上呈現...
首先在構建乙個類盛放這種列舉型別
public class dataentity
enum status
cardexist
studentexist
succeed
end enum
end class
之後b 層的登入方法修改為
public function register(newcard as managere.cardentity, newstu as managere.studententity) as managere.dataentity.status
dim mycifd as new managerd.cardinfodal
dim mysifd as new managerd.stuinfodal
if iscardexist(newcard.cardno) = true then '判斷射頻卡是否已經註冊
register = managere.dataentity.status.cardexist
else
if isstuexist(newstu.studentno) then '判斷持卡學生是否已經註冊
mycifd.addcardinfo(newcard)
register = managere.dataentity.status.studentexist
else
mysifd.addstuinfo(newstu)
mycifd.addcardinfo(newcard) '講符合條件的註冊新增到資料庫
register = managere.dataentity.status.succeed
end if
end if
end function
返回到u層的效果為
select case myregisger.register(newcard, newstu) '判斷卡的註冊狀態
case managere.dataentity.status.cardexist
messagebox.show("該卡已經被註冊,不能再次註冊!")
case managere.dataentity.status.studentexist
messagebox.show("該卡註冊成功,但發現持卡人註冊已註冊過其他卡!")
case managere.dataentity.status.succeed
messagebox.show("該卡註冊成功,可上機消費!")
end select
這樣就不怕敲**時出錯了,在輸入返回值時從智慧型提醒的下拉列表中直接選取就可以了! 機房收費系統
利用幾乎兩個多禮拜的時間,終於把機房收費系統基本完工了。這個過程中,因為有了學生系統做為鋪墊,所以做的時候還算得心應手吧。在其實也遇到了一引些問題,還是好解決的。這個系統到現在為止,也只能說是基本實現了功能,但是還很不健壯,而且漏洞我想還有很多,還有待進一步的除錯與完善。雖然在敲機房收費系統前,把命...
機房收費系統
利用幾乎兩個多禮拜的時間,終於把機房收費系統基本完工了。這個過程中,因為有了學生系統做為鋪墊,所以做的時候還算得心應手吧。在其實也遇到了一引些問題,還是好解決的。這個系統到現在為止,也只能說是基本實現了功能,但是還很不健壯,而且漏洞我想還有很多,還有待進一步的除錯與完善。雖然在敲機房收費系統前,把命...
機房收費系統中dtpicker控制項的使用
在做機房收費系統的時候會有查詢記錄的,還會有好幾個窗體用到了組合查詢,在這些查詢中有的需要填寫日期和時間,當你選擇完欄位名後如果只是乙個text,那就需要乙個個的去輸入,不僅浪費時間而且沒有成就感,更談不上效率下面我們就來認識認識乙個控制項 dtpicker。首先,我們需要知道什麼是dtpicker...