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















 
 
 
 
 
 
 