六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

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

用VB與MTS開發多層數據庫應用系統

[摘要]王莉梅   MTS(Microsoft Transaction Server)是微軟為其Windows NT操作系統推出的一個中間件產品,由于它具有強大的分布事務支持、安全管理、資源管理和多線程并發控制等特性,使其成為在Windows平臺上開發大型數據庫應用系統的首選產品。   由于MTS屏蔽了底...
王莉梅

  MTS(Microsoft Transaction Server)是微軟為其Windows NT操作系統推出的一個中間件產品,由于它具有強大的分布事務支持、安全管理、資源管理和多線程并發控制等特性,使其成為在Windows平臺上開發大型數據庫應用系統的首選產品。

  由于MTS屏蔽了底層實現的復雜性,極大地簡化了這類應用的開發,程序員可以將精力集中在業務邏輯上,因而有效地提高了軟件的開發效率。本文將通過實例介紹用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.sex,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 File\Packages中,在該文件夾的Client下自動生成了MtsDemo的客戶端安裝程序。在客戶機上運行Client文件夾下的Setup.exe文件,再安裝客戶端程序即可運行。 


主站蜘蛛池模板: 在线观看国产日本 | 亚洲免费在线观看视频 | 又粗又大又硬又爽的免费视频 | 欧美一级片手机在线观看 | 青青青久热国产精品视频 | 青春草在线观看播放免费视频 | 天天干天天拍天天射天天添天天爱 | 四虎一影院区永久精品 | 午夜性伦鲁啊鲁免费视频 | 日本高清视频免费在线观看 | 色综合网天天综合色中文男男 | 真实国产乱子伦精品免费 | 天天干天天综合 | 亚洲欧美日本在线观看 | 欧美性猛交xxxx乱大交中文 | 中文精品视频一区二区在线观看 | 欧美亚洲三级 | 三级黄色在线播放 | 日本三级韩国三级欧美三级 | 青草青草久热精品视频在线观看 | 亚洲成人资源 | 亚洲欧美一区二区三区在线观看 | 日本高清不卡网站免费 | 亚州三级 | 亚洲第一区精品观看 | 视频在线观看91 | 天天看天天干 | 五月婷婷七月丁香 | 亚洲天堂视频在线观看 | 五月激激激综合网色播胖胖 | 四虎永久在线免费观看 | 亚洲综合第一区 | 四虎永久免费影院在线 | 天堂网2021天堂手机版丶 | 午夜性福 | 天天做夜夜操 | 婷婷综合缴情亚洲狠狠图片 | 天天干夜夜骑 | 日韩精品一区二区三区中文 | 亚洲ol| 午夜久久久久久网站 |