用vb和mts
開發多層資料庫應用系統
開發多層資料庫應用系統的方法和步驟。
基於mts
開發多層資料庫應用系統的步驟是:第一步,開發mts元件提供服務,程式設計師可以用任何一種支援com的語言編寫mts元件,如vb、vc、delphi和cobol等;第二步,分發mts元件到mts軟體包中,並且把mts軟體包安裝到mts環境之中;第三步,編寫客戶端程式呼叫執行在mts環境之中的mts元件,以取得服務。詳細開發過程如下:
1. 建立mts元件
本例中我們將編寫乙個mts元件,執行於中間層的應用伺服器上,由它建立與資料庫伺服器的連線,完成對某課程的授課教師資訊的查詢。
啟動visual basic,新建一activex dll專案。選擇工程選單,在引用視窗中選中microsoft activex object library 和microsoft transaction sever type library。按「確定」將這兩項加到專案中。
從工程選單中選擇工程屬性,在通用選項中將專案名稱改為mtsdemo。執行緒模組選擇分部執行緒dll,將類模組名稱改為course,將下列程式加入類模組的通用宣告中:
option explicit
public function listcourses( byval mcourse as string) as adodb.recordset
on error goto errorhandle
dim strsql as string
dim objcontext as.objectcontext
set objcontext = getobjectcontext()
' 建立事務性元件
dim objadoconn as adodb.connection
' 利用ado訪問資料庫
dim objrs as adodb.recordset
set objadoconn = new adodb.connection
with objadoconn
.connectiontimeout=10
.connectionstring="provider=sqloledb.1;userid=sa;initial catalog=dbcourse"
' 通過oledb建立與資料庫的連線
.open
end with
set objrs = new adodb.recordset
strsql="select
teacher.name,teacher.***,techer.age,teacher.edu_level,teacher.tiltle"
strsql=strsql&&" from teacher,teachercourse,courses "
strsql=strsql&& "where teacher.teacher_no=teachercourse.teacher_no
and teachercourse.course_no=courses.course_no
and courses.course like'" && mcourse && "'"
'「like」關鍵字可實現模糊查詢
objrs.open strsql, objadoconn
' 進行資料庫查詢
set listcourses = objrs
objcontext.setcomplte
' 若事務成功完成,則提交該事務
objadoconn.close
set objadoconn = nothing
set objrs=nothing
strsql = ""
'關閉資料庫連線,釋放所有物件
exit function
errorhandle:
objcontext. setabort
set listcourses=nothing
' 若事務失敗,則回滾事務
end function
2. 註冊mts元件
所有執行於伺服器端的activex dll都應在mts中註冊,這是通過transaction server explorer完成的。其過程如下:
(1)建立軟體包
軟體包是在同一程序中執行的元件集合,不同軟體包中的元件以程序隔離的方式執行在隔離的程序中。在建立軟體包時,開發者應盡量把共享資源的元件分配在同一軟體包內;考慮到軟體包中各個元件所共享的資源型別,可以把那些共享「昂貴」資源(如對某個特定資料庫的連線)的元件編為一組。
(2)向軟體包新增元件
在想安裝元件的包中選擇component資料夾,單擊install new component(s) 按鈕,當提示新增檔案時找到新生成的mtsdemo.dll檔案將其加入。
3. 編寫客戶端程式
建立乙個標準exe專案。選擇工程選單,接著選擇引用,在引用視窗中選中剛才建立的mtsdemo,加入到專案中。
向窗體中新增如下內容:
名稱 標題
標籤 label1 請輸入課程名:
文字框 txtcourse
命令按扭 cmdok 查詢
資料網格 dgresult
再將下列程式加入通用宣告中:
private sub cmdok_click()
dim rsresult as adodb.recordset
dim objmts as object
dim mcourse as string
mcourse = trim(txtcourse.text)
set objmts = createobject(mtsdemo.course)
set rsresult = objcourse.listcourses(mcourse)
if rsresult.eof then
msgbox ("無滿足條件的記錄!")
exit sub
end if
set dgresult.datasource = rsresult
dgresult.columns(0).caption = "姓名"
dgresult.columns(1).caption = "性別"
dgresult.columns(2).caption = "年齡"
dgresult.columns(3).caption = "學歷"
dgresult.columns(4).caption = "職稱"
dgresult.refresh
set objmts = nothing
end sub
4. 執行客戶端
首先將編寫好的客戶端程式進行編譯發布,然後在microsoft management console中找到新的軟體包,擊右鍵選擇匯出,將它匯出到c:program filepackages中,在該資料夾的client下自動生成了mtsdemo的客戶端安裝程式。在客戶機上執行client資料夾下的setup.exe檔案,再安裝客戶端程式即可執行。
分布式多層資料庫開發之DataSnap技術
多層分布式應用技術的關鍵是應用伺服器的開發 應用伺服器的開發步驟是 先建立應用程式,再在應用程式上建立遠端資料模組。做好應用伺服器之後,最後要註冊伺服器,執行一次便可以註冊 本地,網路不知道 工作流程 2.客戶程式向應用伺服器請求資料。3.應用程式伺服器收到客戶請求後,就從遠端資料庫伺服器 檢索資料...
SQL SERVER資料庫開發之儲存過程應用
序 可能有不少朋友使用sql server做開發也已經有段日子,但還沒有或者很少在專案中使用儲存過程,或許有些朋友認為根本沒有必要使用儲存過程等等。其實當你乙個專案做完到了維護階段時,就會發現儲存過程給我們帶來了好處了,修改方便,不能去改我們的應用程式,只需要改儲存過程的內容,而且還可以使我們的程式...
用邏輯資料庫開發HR報表
應用邏輯資料庫的好處不多說了,比如自帶選擇螢幕,自動許可權檢查,節約時間等等,其實我覺得邏輯資料庫好的地方還有那些小地方,比如很容易修改選擇屏 有進度提示等等。舉個簡單的例項,做乙個list。如果您有過hr開發經驗或者仔細看過hr350這門課,下面就不用看了。1,在程式屬性裡選擇邏輯資料庫pnp,螢...