使用vb在NotesDatabase.Search方法中键入不匹配

时间:2019-03-28 03:47:37

标签: vb.net lotus-notes

我需要使用VB用一组给定的条件搜索注释数据库。我正在浏览https://www.ibm.com/support/knowledgecenter/en/SSVRGU_9.0.1/basic/H_EXAMPLES_SEARCH_METHOD.html上的IBM文档,
并根据示例编号提供了以下代码。 3个:

    Dim notesSession As Object = CreateObject("lotus.NotesSession")
    notesSession.Initialize(Password)
    Dim notesDatabase As Object = notesSession.GETDATABASE(ServerName, DatabaseName)
    Dim Query as String = "{Form = Project}"
    Dim notesDocumentCollection As Object = notesDatabase.Search(Query, Nothing, 0)
    Dim notesDocument As Object = notesDocumentCollection.GetFirstDocument

但是在 notesDatabase.Search(Query,Nothing,0)处,它给了我一个运行时异常,说明类型不匹配。根据{{​​3}}

,对第二个和第三个参数使用 Nothing和0 都可以

因此,我怀疑我对

的第一个参数做错了
  

notesDocumentCollection = notesDatabase .Search(Formula $,   notesDateTime,maxDocs%)

有人可以告诉我我在做什么错吗?

1 个答案:

答案 0 :(得分:3)

您的公式有误。必须是

"Form = ""Project"""

此外,在尝试尝试时发现的COM类和vb.net之间的“无”概念似乎有所不同:您需要使用正确类型的参数。对于您的情况:

New Runtime.InteropServices.UnknownWrapper(Nothing)

而不是简单地

Nothing

作为第二个参数。