top
Loading...
多客戶環境下VB數據庫編程之(10)
多用戶應用程序中應注意的其它問題(3)

問題三 用戶標識

在多用戶應用程序中,可以以編程方式標識當前登錄到系統上的用戶,這對于管理功能是有用的。比如用編輯好的記錄來存儲用戶名字,從而建立一個核查線索。實現一個安全的數據庫,可以迫使用戶必須用預先定義的用戶名和密碼來登錄應用程序,這樣,應用程序就可以通過Workspace對象的UserNane屬性來使用用戶名。下面這個過程,把用戶名、當前日期和時間寫到指定的記錄集中。

過程如下:

Function WriteAuditTrail(rst As Recordset) As Integer

On Error GoTo ErrorHandler

'編輯記錄集中的當前記錄

'假定Recordset(rst)包括a

'和b兩個字段

rst.Edit

st!a=Workspaces(0).UserName

rst!b=Now

rst.Update

ErrorHandler:

SelectCaseErr

Case 0

WriteAuditTrail=O

EXit Function

Case Else

MsgBox "Error" & Err & ":" & Error,vbOKOnlv

WriteAuditTrail=Err

EXit Function

End Select

End Function

上述過程把用戶、系統當前日期和時間寫入一個記錄集中。如果寫入成功,則過程返回0,否則返回相應的錯誤代碼。

為了調用上述過程,首先建立一個包含兩個字段(a和b)的表,然后在窗體上畫一個命令按鈕,并編寫下面的事件過程:

Private Sub Command1_Click()

Dim Mvdbs As Database

Dim MvTab As Recordset

Set Mydbs=OpenDatabase("c:dbdirdb1.mdb")

Set MyTab=Mydbs.OpenRecordset("Tabel4",dbOpenTable)

a=WriteAuditTrail(MyTab)

If a=0 then

MsgBox "用戶名、日期和時間已寫入"

else

MsgBox "寫入失敗"

End lf

End Sub

新建立的表放在數據庫dbl.mdb中,名為Tabel4。程序運行后,單擊命令按鈕,將調用上面的過程,把用戶名、日期和時間寫入表Tabel4中。可以通過“可視化數據管理器”來查看表Tabel4的內容,如圖所示。

a b

admin 98-3-20 20:13:23

如果不想實現安全性,只需要用戶名功能,則可以在運行應用程序時提示用戶輸入名字和密碼,并把輸入的值存儲到代碼變量或臨時表中。使用這種方法,可以訪問用戶名,但不能實現安全的數據庫。
作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗