<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      使用PB完成動態系統用戶登錄

      [摘要]張濤    在多用戶的大型數據庫系統,用戶對數據庫操作權限會有區別,因此,我們需要設計系統用戶登錄窗口,來完成用戶的確認與權限控制。通常我們都是在數據庫中添加一張人員表,保存人員信息、登錄用戶名以及口令,但這種方法安全性并不是很高。其它,我們可以使用該方法登錄窗口時,需要采用動態生成數據庫連接代碼...
      張濤 

        在多用戶的大型數據庫系統,用戶對數據庫操作權限會有區別,因此,我們需要設計系統用戶登錄窗口,來完成用戶的確認與權限控制。通常我們都是在數據庫中添加一張人員表,保存人員信息、登錄用戶名以及口令,但這種方法安全性并不是很高。其它,我們可以使用該方法登錄窗口時,需要采用動態生成數據庫連接代碼,然后連接數據庫,如果用戶存在,并且錄入的口令正確,則數據庫連接成功,這樣便可以打開系統主窗口了,登錄窗口設計如圖1 。  

        設計“確定”按鈕Clicked事件的代碼如下:

        w_login.visible = false

        //暫時隱藏登錄窗口

        Open(w_welcome)

        //打開歡迎或者數據庫連接等待窗口

        SetPointer(HOURGLASS!)

        //將光標變成沙漏型

        string ls_user,ls_pass

        //讀取用戶錄入的用戶名與口令

        ls_user = sle_username.text

        ls_pass = sle_password.text

        //從注冊表中讀取所有數據庫信息并存儲在“sqlca”中,其中gs_key是你的軟件注冊位置

        RegistryGet(gs_hkey, "DBMS", RegString!, sqlca.DBMS)

        RegistryGet(gs_hkey, "Database", RegString!, sqlca.Database)

        //生成數據庫連接參數,除了用戶名與口令外,其他由系統的需要而定。

        SQLCA.DBParm += ";UID="+ls_user+";PWD="+ls_pass+&&"',PBUseProcOwner='Yes',

        ConnectOption='SQL_DRIVER_CONNECT,SQL_DRIVER_NOPROMPT'"

        CONNECT using sqlca;

        //連接數據庫

        if sqlca.sqlcode<>0 then

        //數據庫連接失敗,說明用戶錄入口令不正確,或者不存在該用戶

        close(w_welcome)

        //關閉等待窗口

        messagebox("登錄","數據庫連接失敗!")

        sle_password.text=""

        sle_password.setfocus()

        success=false

        w_login.visible=true

        else

        //數據庫連接成功!用戶驗證正確

        success=true

        open(w_main)//進入主窗口

        close(w_parent)

        end if

        使用本方法時,對系統的維護(添加、刪除、權限設置等),必須到Sybase Central中進行,對系統維護人員有一定要求。


      日韩精品一区二区三区高清