PB經過INI鏈接數據庫

Vb.netC#開發時咱們學習過用配置文件來保存數據庫鏈接的屬性,這樣能夠方便咱們更換移植數據庫,提升軟件的生存能力。那麼Pb9.0也有相似的機制來實現,即.ini文件。sql

什麼是.ini文件?

    .ini文件是InitializationFile的縮寫,即初始化文件,是windows的系統配置文件所採用的存儲格式ini文件有節、鍵、值構成。其中節是區分標誌,由於通常初始化文件需被程序不一樣的模塊所公用,用節爲不一樣的模塊作出標記,用中括號([])表示。而後鍵值對存儲屬性。ini文件和配置文件提供了同樣的功能。下圖是一個實例:數據庫


使用機制

    PB9.0提供了一個函數:ProfileString,用來讀取配置文件中的內容。其使用格式以下:ProfileString("filename","section",key","default")。四個參數分別爲:文件名,節,鍵,和在找不到信息時的反饋信息。這裏須要注意的是,須要把ini文件放在程序目錄下。將讀取到的值分別賦給對應的SQLCA對象的屬性,而後using sqlca就成了。windows

Ini文件的編輯

    ini文件的結構簡單,能夠本身手動去寫,新建一個文本文件而後保存爲.ini文件就行了。固然是要細心一些了。另外Pb9.0中能夠生成ini文件,在用Dbprofile創建了數據庫鏈接的基礎上。步驟以下:安全

    1)在PB中鏈接到目的數據庫,而後點擊右鍵,選擇「Export Profile(s)」,在彈出的「ExportProfile(s)」窗口中已經默認選中了當前鏈接的數據庫,直接點擊「OK」ide

    2)在彈出的「Select ProfileFile」窗口中選擇ini文件的路徑,通常就是程序的目錄下,填寫ini文件的名字,譬如STEPB,就會生成一個STEPB.ini的文件.重複一次,別忘了把.ini文件放到程序目錄下。函數

調用時的代碼    

[plain] view plain copy 在CODE上查看代碼片派生到個人代碼片學習

  1. <span style="font-size:18px;">//從初始化文件中讀取SQLCA屬性,利用名爲STEPB的ODBC數據源連接數據庫  優化

  2.   

  3. SQLCA.DBMS=ProfileString("STEPB.INI","Database","DBMS","")  url

  4. SQLCA.Database=ProfileString("STEPB.INI","Database","DataBase","")  spa

  5. SQLCA.LogID=ProfileString("STEPB.INI","Database","LogID","")  

  6. SQLCA.LogPass=ProfileString("STEPB.INI","Database","LogPassWord","")  

  7. SQLCA.ServerName=ProfileString("STEPB.INI","Database","ServerName","")  

  8. SQLCA.UserID=ProfileString("STEPB.INI","Database","UserID","")  

  9. SQLCA.DBpass=ProfileString("STEPB.INI","Database","DatabasePassword","")  

  10. SQLCA.Lock=ProfileString("STEPB.INI","Database","Lock","")  

  11. SQLCA.DbParm=ProfileString("STEPB.INI","Database","DbParm","")  

  12.   

  13. //連接數據庫  

  14. connect using SQLCA;  

  15.   

  16. //對錯誤狀況進行處理  

  17. if SQLCA.SQLCode<0 then                        //連接數據庫失敗  

  18.     MessageBox("數據庫連接失敗!",SQLCA.SQLErrText,StopSign!,Ok!)  

  19. else  

  20.     open(W_login)                               //數據庫連接成功,轉到登陸窗體  

  21. end if</span>  

       結語:ini文件的使用和以前的配置文件是同樣的功能,都是爲了方便的更換數據庫而將配置數據庫鏈接的屬性都獨立的程序外。那麼實際上ini文件的使用不單單這裏,有人提議說也能夠將SQL語句存儲於ini文件中。可是由於SQL語句使用的頻率很高並且對程序的安全影響也比較大,雖說在程序的靈活性上可能會有所優化,可是對安全性的破壞仍是比較嚴重,我的以爲。

相關文章
相關標籤/搜索