機房收費系統 之 委託登入,機房收費系統
忘記了具體的時間,具體的地點應該是在511。老師提了這麼一句“以後你們的代碼裡面都不能有調用,全部都有委託”。如果我沒有記錯的話,好像是這麼說的......如果我記錯了的話,也有可能是我聽錯了哈......
最近開始機房收費系統合作版,然後就想著能不能把委託這個東西加到咱們的機房中來,然後就在那裡查資料啊,查資料!反正查了一天多......最後,功夫不負有心人,終於搞定了!
雖然是實現了功能,但是真的不確定自己這樣做到底是正確的還是錯誤的!這個還有待老師和師哥師姐們給出寶貴的意見!
委託是什麼我就不說的了,不懂的可以看看C# 之 委託,雖然寫的不是特別的詳細,但是看了也能瞭解個大概。現在就讓我們來看看具體的代碼實現:
我們熟悉的D層代碼:
Imports System.Data.SqlClientPublic Class DAL Public Function Login(ByVal strUserID As String, ByVal strPassword As String) As Boolean '建立一個SqlConnection Dim conn As New SqlConnection("server=.;database=ChargeSystem;uid=sa;pwd=123456") '建立一個SqlCommand從資料庫中查詢該使用者名稱和密碼是否存在 Dim cmd As New SqlCommand("select count(*) from T_User where userID='" & strUserID & "' and password='" & strPassword & "'", conn) conn.Open() Dim count As Integer = cmd.ExecuteScalar() conn.Close() If count > 0 Then Return True '使用者名稱和密碼正確 Else Return False End If End FunctionEnd Class
再看看新的B層:
Public Class BLL '聲明委託LoginEventHandler,此時委託所代表的方法有兩個參數,傳回值為布爾值 Public Delegate Function LoginEventHandler(ByVal strUserID As String, ByVal strPassword As String) As Boolean Public Function Login(ByVal strUserID As String, ByVal strPassword As String) As Boolean Dim dal As New DAL '將DAL類中的Login方法添加到委託loginEventHandler Dim loginEventHandler As LoginEventHandler = AddressOf dal.Login Dim flag As Boolean flag = loginEventHandler(strUserID, strPassword) Return flag End FunctionEnd Class
最後看看新的U層:
Public Class Form1 '聲明委託LoginEventHandler,此時委託所代表的方法有兩個參數,傳回值為布爾值 Public Delegate Function LoginEventHandler(ByVal strUserID As String, ByVal strPassword As String) As Boolean Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnLogin.Click Dim bll As New BLL Dim loginEventHandler As LoginEventHandler Dim strUserID As String = txtUserID.Text.Trim() Dim strPassword As String = txtPassword.Text.Trim() Dim flag As Boolean '將DAL類中的Login方法添加到委託loginEventHandler loginEventHandler = AddressOf bll.Login flag = loginEventHandler(strUserID, strPassword) If flag = True Then MsgBox("終於登陸成功!") Else MsgBox("使用者名稱或密碼輸入錯誤!") txtPassword.Text = "" txtUserID.Focus() txtUserID.SelectAll() End If End Sub Private Sub btnExit_Click(sender As Object, e As EventArgs) Handles btnExit.Click Me.Close() End SubEnd Class
最後看看我們的結果:
在VB.NET中事件不能用具有傳回型別的委託類型來聲明,這點和C#不一樣!然後就是這一點點的區別就花費了我好多的精力!不過最後還是做出來了,真的非常的高興!嘿嘿......
機房收費系統源碼
加我吧,能協助你的
怎破解學校機房收費系統
這個,要看什麼收費系統了,你查一下,然後電腦上找找看.. 也可以進收費系統的電腦,看一下,他安裝目錄在哪個盤下,什麼檔案,
最後你用什麼磁碟片啦,光碟片啦,隨身碟啦,引導電腦,然後在DOS 下刪除這些檔案,開機就不會引導了..