機房收費系統總結之關閉窗體

2021-06-20 10:09:08 字數 2409 閱讀 5882

我們在系統開發的時候,通常情況下都會遇到關於對主視窗關閉時需要做一些列的業務操作,或者彈出提示框提醒使用者是否真的要關閉視窗的情況。但是它們具體是怎麼實現的呢?下面和大家來分享一下我在做機房收費系統中遇到的這類問題的具體解決方案。

這是vb6.0的**:

'判斷系統是否退出

private sub mdiform_queryunload(cancel as integer, unloadmode as integer)

dim stronwork as string

dim strmsg as string

dim rstonwork as adodb.recordset

dim rstworklog as adodb.recordset

static intserial as integer

if msgbox("是否確定退出?", vbokcancel + vbexclamation, "系統提示") = vbok then

'查詢正值班老師資訊表

stronwork = "select * from onwork_info where userid='" & g_strusername & "'"

set rstonwork = executesql(stronwork, strmsg)

'查詢教師工作記錄表,獲取記錄數

stronwork = "select * from worklog_info "

set rstworklog = executesql(stronwork, strmsg)

intserial = rstworklog.recordcount + 1

'更新教師工作記錄表

stronwork = "insert worklog_info values(" & intserial & ",'" & trim(rstonwork!userid) & _

"','" & rstonwork!userlevel & "','" & rstonwork!logindate & "','" & _

rstonwork!logintime & "','" & date & "','" & time & "','" & _

rstonwork!computer & "','" & "true" & "')"

call executesql(stronwork, strmsg)

'更新正值班老師資訊表

rstonwork.delete

rstonwork.close

cancel = 0

else

cancel = 1

end if

end sub

這是vb.net的**:

'***以下系統是三層架構中u層關閉主窗體時,判斷系統是否退出的*****
private sub frmmain_formclosing(sender as object, e as formclosingeventargs) handles me.formclosing

dim teacherworkmanagebll as new bll.teacherworkmanagebll

dim worklogentity as new entity.worklogentity

if msgbox("是否確定退出?", vbokcancel + vbexclamation, "系統提示") = vbok then

'使用者工作記錄實體賦值

worklogentity.userid = frmlogin.txtuser.text.trim

worklogentity.logouttime = now

'新增使用者下線時間

teacherworkmanagebll.modifyworklog(worklogentity)

'***在這裡可以加入系統退出前的一些列操作***
e.cancel = false
'關閉此父窗體的所有子窗體

for each childform as form in me.mdichildren

childform.close()

next

me.close()

e.cancel = false

else

e.cancel = true

end if

end sub

通過這兩種語言**對同一功能的實現比較,我們會發現,在程式設計的世界裡,其實語言都是想通的,只是表達方式不同了而已。我們這些程式設計師其實要學習的更多的並非語言,而是思想邏輯,系統架構。

機房收費系統之充值窗體

感覺充值窗體比較簡單,整體上就是乙個資料庫寫入資料的操作,通過幾個判斷就可以把資料寫入資料庫了。一 邏輯圖 二 部分 1.如何判斷框內資料和資料庫資料大小 if val txtaddmoney.text mrc.fields 5 then txtaddmoney.setfocus txtaddmon...

機房收費系統之充值窗體

流程圖 判斷是否輸入卡號 if testtxt txtcardno.text false then msgbox 請輸入卡號!0 48,提示 txtcardno.setfocus exit sub end if 判斷是否輸入充值金額 if testtxt txtaddmoney.text false...

機房收費系統之登入窗體

private sub cmdok click dim txtsql as string dim txtsql1 as string dim mrc as adodb.recordset dim mrc1 as adodb.recordset dim msgtext as string dim fr...