簡(jiǎn)單實(shí)現(xiàn)VB.NET打開Notes數(shù)據(jù)庫(kù)
VB.NET編程語言可以幫助我們輕松的實(shí)現(xiàn)各種數(shù)據(jù)庫(kù)的操作,比如今天為大家介紹的VB.NET打開Notes數(shù)據(jù)庫(kù)這一方法,就可以通過本文介紹的方法輕松的實(shí)現(xiàn)。下面大家就一起來看看具體操作方法。#t#
一、前言
acerun: yes"> Visual Basic是微軟(中國(guó))有限公司在中國(guó)力推的編程工具,它具有易學(xué)易用、編程簡(jiǎn)潔、程序集成化程度高等特點(diǎn)。Lotus Notes是Lotus公司推出的群件系統(tǒng),它不僅僅是個(gè)應(yīng)用軟件,更是一個(gè)開發(fā)平臺(tái)。
Notes數(shù)據(jù)庫(kù)是文檔型數(shù)據(jù)庫(kù),它使用LotusScript編寫相應(yīng)的代碼完成設(shè)計(jì)者的需求。LotusScript語法類似于Visual Basic的語法,兩者之間有什么聯(lián)系呢?如何使用 Visual Basic 應(yīng)用與Notes數(shù)據(jù)之間進(jìn)行交互呢?Visual Basic也能像在Notes中一樣輕松訪問Notes類。本文討論了使用Visual Basic 中訪問Notes類的方法。
二、設(shè)計(jì)VB.NET打開Notes數(shù)據(jù)庫(kù)思路
Visual Basic中可以通過OLE功能來使用Notes.NotesUIWorkspace 和 Notes.NotesSession訪問Notes類。使用CreatObject得到NotesUIWorkspace 和NotesSession對(duì)象。下面幾行Visual Basic代碼得到當(dāng)前計(jì)算機(jī)上一個(gè)名為“testdb.nsf”的數(shù)據(jù)庫(kù)對(duì)象。
- Dim session As Object
- Dim db As Obiect
- Dim doc As Obiect
- Set session = CreatObject
(“Notes.NotesSession”)- Set db = session.Get
Database(“”,”testdb.nsf”)
要通過Visual Basic 在桌面上打開Notes 數(shù)據(jù)庫(kù),應(yīng)先得到NotesUIWorkspace對(duì)象,然后通過openDatabase 函數(shù)打開相應(yīng)的數(shù)據(jù)庫(kù)即可。
1. 在 Visual Basic 中不能像在LotusScript 中那樣創(chuàng)建新的Notes對(duì)象,因此只能通過NotesUIWorkspace 和 NotesSession 這兩個(gè)頂類層訪問其他Notes對(duì)象。LotusScipt中的Notes類提供了一個(gè)非常完整的遍歷整個(gè)層次結(jié)構(gòu)的方法,我們完全可以用這個(gè)方法得到任何需要的Notes類。
2. 在Visual Basic中所有的Notes變量都應(yīng)聲明為Object類型。
3. 在Visual Basic 中訪問Notes類,首先Visual Basic必須與notes裝在同一臺(tái)計(jì)算機(jī)上。
4. 使用上面的方法打開notes數(shù)據(jù)庫(kù)時(shí),會(huì)出現(xiàn)無法將notes窗口移到前端的情況。調(diào)用Windows API中的ShellExecute即可解決這個(gè)問題。
三、VB.NET打開Notes數(shù)據(jù)庫(kù)的程序?qū)崿F(xiàn)
下面這段程序打開一個(gè)Notes數(shù)據(jù)庫(kù)并把它移到最前面,使用戶看到這個(gè)數(shù)據(jù)庫(kù)。
- Public Declare Funcrion Shell
Execute Lib “Shell32.dll” Alias
“ShellExecuteA”_- (byval hWnd As long, byval
IpOperation As String , byval
IpFile As String,_- Byval IpParameters As String,
byval IpDirectory As Long,_- Byval nShowCmd As Long ) As Long
- ‘將Notes對(duì)象聲明為Object
- dim session as object
- dim uiWs as object
- dim dbname as string
- dim servername as string
- dim iRet as integer
- ‘在此填入你要打開的數(shù)據(jù)庫(kù)和服務(wù)器名
- dbname = “ciphercipher.nsf”
- servername = “rtpswgsserver”
- ‘創(chuàng)建NotesSession 對(duì)象,如果Notes
已經(jīng)運(yùn)行,這句程序?qū)⒋蜷_Notes窗口;
如果沒有運(yùn)行Notes,則啟動(dòng)它- set session = CreateObject
(“Notes.NotesSession”)- ‘通過調(diào)用Windows API 函數(shù)使Notes
窗口在前臺(tái)打開- iRet = ShellExecute(Me.hWnd,
”open”,”notes.exe”,vbNullString ,_- dummystring , SW_SHOWNORMAL)
- ‘創(chuàng)建NotesUIWorkspace對(duì)象
- set uiWs = CreateObject
(“Notes.NotesUIWorkspace”)- ‘打開數(shù)據(jù)庫(kù)
- call OpenDatabase (servername , dbname)
- ‘要以特定的視圖打開表單時(shí)使用
- call OpenDatabase (servername ,
dbname , “viewname”)
VB.NET打開Notes數(shù)據(jù)庫(kù)的相關(guān)操作方法就為大家介紹到這里。