首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載 | ||
![]() |
2011中考 | 2011高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試 MPA考試 | 中科院 |
|
![]() |
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT 新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 法語 | 德語 | 韓語 |
|
![]() |
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證 華為認證 | Java認證 |
|
![]() |
公務員 | 報關員 | 銀行從業資格 | 證券從業資格 | 期貨從業資格 | 司法考試 | 法律顧問 | 導游資格 報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師 人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業資格 | 廣告師職業水平 駕駛員 | 網絡編輯 |
|
![]() |
衛生資格 | 執業醫師 | 執業藥師 | 執業護士 | |
![]() |
會計從業資格考試(會計證) | 經濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師 注冊資產評估師 | 高級會計師 | ACCA | 統計師 | 精算師 | 理財規劃師 | 國際內審師 |
|
![]() |
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監理工程師 | 安全工程師 質量工程師 | 物業管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產估價師 | 土地估價師 | 巖土師 設備監理師 | 房地產經紀人 | 投資項目管理師 | 土地登記代理人 | 環境影響評價師 | 環保工程師 城市規劃師 | 公路監理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師 |
|
![]() |
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲 |
使用非access數據庫時的參數設置及配置文件的參數讀取
如果在vb的程序中使用了數據庫的操作,將應用程序生成exe文件或打包生成安裝程序后,則必須提供一個配置(.ini)文件,在ini文件中可以對不同類型的數據庫進行設置。如果找不到這個ini文件,將會導致不能訪問數據庫。通常情況下,ini文件的文件名和應用程序的名稱相同,所以如果沒有指明,vb的程序會在windows子目錄中去找和應用程序同名的ini文件。可以使用vb中的setdataaccessoptions語句來設置ini文件。
setdataaccessoptions語句的用法如下:
setdataaccessoptions1,inifilename
其中inifilename參數指明的是ini文件的帶路徑的文件名。設為首頁值得注意的是,當應用程序找不到這個ini文件時,或在調用opendatabase函數時對其connect參數值沒有設定為vb規定的標準值,如對foxpro2.5格式設定為了“foxpro;”(應為“foxpro2.5;”),或者沒有安裝相應的isam驅動程序,則此時vb會顯示一條錯誤信息“not found installable isam”。
通常,ini文件在應用程序分發出去以前已經生成,或者在安裝時動態生成,也可以在應用程序中自己生成。通常這種ini文件中有“[options]”、“[isam]”、“[installed isams]”、“ [foxpro isam] ” 、 “ [dbase isam] ” 、 “ [paradox isam] ”等設置段,對于一個完整的應用程序則還應有一個屬于應用程序自己的設置段如“[mydb]”。可在其中設置datatype、server、database、openonstartup、displaysql、querytimeout等較為重要的數據庫參數,并以此限定應用程序一般的運行環境。
windows api接口函數在kernel.exe動態鏈接庫中提供了一個oswriteprivateprofilestring函數,此函數能按windows下配置文件(.ini)的書寫格式寫入信息。在通常情況下,應用程序還需要在運行時讀取配置文件內相關項的參數。比如pagetimeout(頁加鎖超時時限)、maxbuffersize(緩沖區大小)、lockretry(加鎖失敗時重試次數)等參數,通過對這些參數的讀取對應用程序運行環境的設定、潛在錯誤的捕獲等均會有很大的改善。
設此應用程序的配置文件為mydb.ini,則具體過程如下 :
funtion getinistring$( byval fname$ , byval szitem$ , byval szdefault$ ) ’ 此 自定義子函數實現ini文件內設置段內參數的讀取
dim tmp as string , x as integer
tmp = string( 2048,32 )
x = osgetprivateprofilestring( fname$ , szitem$ , szdefault$ , tmp , len(tmp) , “ mydb.ini ” )
getinistring = mid$( tmp,1,x )
end function
以下這些函數的聲明可寫在模塊文件內,且每個函數的聲明必須在一行內
declare function osgetprivateprofilestring% lib "kernel" alias "getprivateprofilestring" (byval appname$, byval keyname$, byval keydefault$, byval returnstring$, byval numbytes as integer, byval filename$)
declare function oswriteprivateprofilestring% lib "kernel" alias "writeprivateprofilestring" (byval appname$, byval keyname$, byval keydefault$, byval filename$)
declare function osgetwindowsdirectory% lib "kernel" alias "getwindowsdirectory" (byval a$, byval b%)
sub form1_load( )
dim st as string dim x as integer
dim tmp as string tmp = string$( 255, 32 )
’ 在 ini 文 件 內 為 各 種 數 據 庫 格 式 指 明 已 安 裝 的 相 應 isam 驅 動 程 序
x = oswriteprivateprofilestring(" installable isams", "paradox 3.x", "pdx110.dll", "mydb.ini" )
x = oswriteprivateprofilestring( "installable isams", "dbase iii", "xbs110.dll", "mydb.ini" )
x = oswriteprivateprofilestring( "installable isams", "dbase iv", "xbs110.dll", "mydb.ini" )
x = oswriteprivateprofilestring( "installable isams", "foxpro 2.0", "xbs110.dll", "mydb.ini" )
x = oswriteprivateprofilestring( "installable isams", "foxpro 2.5", "xbs110.dll", "mydb.ini" )
x = oswriteprivateprofilestring( "installable isams", "btrieve", "btrv110.dll", "mydb.ini" )
x = oswriteprivateprofilestring( "dbase isam", "deleted", "on", "mydb.ini" )
’ 指 明 ini 文 件 的 位 置
x = osgetwindowsdirectory( tmp, 255 )
st = mid$( tmp, 1, x ) setdataaccessoption 1, st + "\mydb.ini"
’ 獲 得 ini 文 件 一 些 參 數
gwmaxgridrows = val(getinistring( “ mydb.ini ” ,"maxrows", "250" ))
glquerytimeout = val(getinistring( “ mydb.ini ” ,"querytimeout", "5" ))
gllogintimeout = val(getinistring( “ mydb.ini ” ,"logintimeout", "20" ))
end sub
相關推薦:2009年4月計算機等級二級考試VF程序設計輔導北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |