在尝试比较两个变量时,我遇到了意想不到的困难:
第一个变量来自XML:
For i = 0 To UBound(array, 2)
If Bk = array(0, i) Then
Book= cstr(array(1, i))
Exit For
End If
Next
想象一下Book = "LONDON"
第二个变量(SQLBook)来自SQL select,如果在QTP中使用WATCH,则var BOOK和SQLBOOK在视觉上是相等的,但如果我们通过LEN()
进行比较:BOOK有8个长度(len(Book)
)和SQLBook有9个长度。
你能告诉我什么是错的吗?
答案 0 :(得分:1)
SQLBook中可能有一个空格或一些不可见的字符。要找出两个变量之间的差异,请执行以下操作:
1)首先删除相似的字符:
Dim diff AS String = Replace(SQLBook, BOOK, "")
2)然后检查diff中剩下的字符的ASCII码:
Debug.Print Asc(diff)
编辑根据您的评论,区别在于回车字符,该字符用于创建新行。要摆脱它,请使用:
Replace(SQLBook, vbCr, "")