QTP:具有相同值的两个变量的不同长度

时间:2014-04-16 14:01:24

标签: vbscript qtp

在尝试比较两个变量时,我遇到了意想不到的困难:

第一个变量来自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个长度。

你能告诉我什么是错的吗?

1 个答案:

答案 0 :(得分:1)

SQLBook中可能有一个空格或一些不可见的字符。要找出两个变量之间的差异,请执行以下操作:

1)首先删除相似的字符:

Dim diff AS String = Replace(SQLBook, BOOK, "")

2)然后检查diff中剩下的字符的ASCII码:

Debug.Print Asc(diff)

编辑根据您的评论,区别在于回车字符,该字符用于创建新行。要摆脱它,请使用:

Replace(SQLBook, vbCr, "")