建立Notes数据库连接时出现数据类型问题

时间:2019-03-27 08:37:36

标签: lotus-notes lotus-domino lotusscript lotus

我将特定注释文档的值填充到数据类型为VARIANT的变量中。

原因:该值包括反斜杠,字母和数字。

稍后在我的代码中,我想使用此变量建立数据库连接。不幸的是,它总是失败并显示以下消息:

  

方法CoerceString中的类型不匹配:发现未知,期望未知

我的代码:

Dim varMailFile As Variant
Dim varMailServer As Variant
Dim maildb As New NotesDatabase( "", "" )
Dim cprofile As NotesDocument

vMailFile = doc.GetItemValue( "MailFile" )
vMailServer = doc.GetItemValue( "MailServer" )

Call maildb.Open(vMailServer, vMailFile)

我已经尝试将varMailFile和varMailServer定义为String,但是stilld无法正常工作。 由于错误消息没有告诉您发现的内容和期望的内容,因此也很难进行故障排除。

希望您能帮助我。谢谢。

1 个答案:

答案 0 :(得分:4)

NotesDocument.GetItemValue始终返回一个变体,即使该项仅包含一个值。您需要EITHER为变量分配第一个值(索引默认为0,因为LotusScript默认是基于0的),或者仅在调用中使用第一个值:

第一种可能性:

varMailFile = doc.GetItemValue( "MailFile" )(0)
varMailServer = doc.GetItemValue( "MailServer" )(0)
...
Call maildb.Open(varMailServer, varMailFile)

第二种可能性

varMailFile = doc.GetItemValue( "MailFile" )
varMailServer = doc.GetItemValue( "MailServer" )
...
Call maildb.Open(varMailServer(0), varMailFile(0))