九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
防止同一用戶重復(fù)登錄的解決辦法(SQL Server)

        在開發(fā)管理信息系統(tǒng)的時(shí)候,經(jīng)常會遇到需要防止同一個(gè)用戶多次登錄的問題,這里介紹了一種簡單易行的辦法。

        注意:此方法僅適用于以SQL Server作為數(shù)據(jù)庫的情況下。

        實(shí)現(xiàn)思路:在SQL Server中,當(dāng)連接斷開之后,系統(tǒng)會自動將臨時(shí)表回收,因此我們就可以通過創(chuàng)建和登錄用戶名對應(yīng)的全局臨時(shí)表,然后登錄時(shí)判斷這個(gè)臨時(shí)表是否存在。如果存在,說明其對應(yīng)的用戶名已登錄,則彈出消息提示不能重復(fù)登錄;如果不存在,則登錄并創(chuàng)建臨時(shí)表。

        說明:使用此方法的優(yōu)點(diǎn)再于,已登錄標(biāo)記是在客戶端發(fā)送請求并建立連接后創(chuàng)建的,但退出登錄則不需要客戶端去處理,只要到SQL Server的連接斷開了,這個(gè)標(biāo)記就會被自動銷毀,這個(gè)銷毀操作是由數(shù)據(jù)庫服務(wù)器來執(zhí)行的。因此即使客戶端因?yàn)閿嚯?、程序崩潰一類的原因非正常退出,并且不論一個(gè)用戶是在同一臺電腦上登錄,還是在不同的電腦上登錄,也都是有效的!不需要管理員到用戶表中去修改用戶的登錄狀態(tài)什么的。

Function IsLogged(UserID As String) As Boolean

'判斷指定用戶是否登錄,已登錄返回True

    Dim rst As Object

    Dim cnn As Object


    Set cnn=CreateObject('ADODB.Connection')

    cnn.Open 'Provider=SQLOLEDB;Data Source=服務(wù)器名或IP或域名','數(shù)據(jù)庫用戶名','數(shù)據(jù)庫用戶密碼'

    Set rst = cnn.Execute('Select OBJECT_ID('##LoggedUser' & UserID & '') AS ID')

    If Not IsNull(rst!ID) Then IsLogged=True

    rst.Close

    cnn.Close

End Function


Function UserLoginRegister(UserID As String) As Boolean

'創(chuàng)建登錄標(biāo)識(即創(chuàng)建用戶名對應(yīng)的臨時(shí)表)

    Dim cnn As Object

    Set cnn=CreateObject('ADODB.Connection')

    cnn.Open 'Provider=SQLOLEDB;Data Source=服務(wù)器名或IP或域名','數(shù)據(jù)庫用戶名','數(shù)據(jù)庫用戶密碼'

    cnn.Execute 'Create TABLE ##LoggedUser' & UserID & '(userid varchar(1))'

    cnn.Close

End Function

'然后我們在登錄窗體窗體的“登錄”按鈕事件中進(jìn)行如下判定:

Private Sub cmdLogin_Click()

    If IsNull(Me.txtUserName) Then

        MsgBox '請輸入用戶名!',vbExclation

        Exit Sub

    End If


    If Is Logged(Me.txtUserName) Then

        MsgBox '此用戶已登錄!',vbInformation

    Else

       '密碼驗(yàn)證代碼略

        UserLoginRegister Me.txtUserName

        DoCmd.OpenForm 'frmMain'

    End If


End Sub


本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
MSSQL應(yīng)用系列---NOLOCK 和ROWLOCK 的秘密
sql server 2000可以放多少個(gè)表,多少個(gè)數(shù)據(jù)庫,多少個(gè)用戶連接
PowerDesigner中如何生成主鍵和自增列--SQL SERVER版本 - NetS...
SQL Server 2008 數(shù)據(jù)庫 不允許保存修改。您所做的更改要求刪除并重新創(chuàng)建以下表
asp制作用戶登陸界面--龍二
SQL SERVER數(shù)據(jù)庫中存儲過程使用循環(huán)語句
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服