将数据库中的字段读入字符串会得到我无法删除的空格

时间:2013-04-24 07:18:35

标签: string vb6

我正在使用一家名为Visma的公司的API。当我从他们的数据库中读取时,我需要在字符串中分配空格,具体取决于该字段中可以有多少个最大字符,以便从中读取。

这是这样的:

dim CustomerName as string
CustomerName = Space(50)

AdkGetStr(pData, ADK_CUSTOMER_NAME, CustomerName, 50)

我必须指定允许读取的字符数,问题是如果我读了一堆客户名,几乎所有字符都不会使用允许的最大字符数,我无法摆脱多余的字符数太空了。

我试图修剪并用“”替换“”,但没有结果。

然后我尝试输入一个名为“test”的客户,我知道这个字符串中的前4个字符是字母,第五个字符(5)是我无法摆脱的空间。

然后我做了这个测试:

CustomerName = Mid$(CustomerName, 5, 1)
'reading the first space after my customername

templength = Len(temp)
'templength is 1

在我的客户名之后有一个空格,长度为1,但看起来像这样:

enter image description here

我无法让我的MsgBox显示出来。看起来它比len = 1更长......并且它不等于制表符或空或null?这到底是什么?

字符串不可能是独一无二的,是吗?所以它必须等于某种东西......如果我知道那是什么,我可以从我的字符串中删除空格。

1 个答案:

答案 0 :(得分:0)

如果您无法从数据库中获取字符串的长度,则必须通过搜索字符的位置来自行清理字符串:

Function CleanString(ByRef str As String) As String

    Dim posNullChar As Long
    posNullChar = InStr(1, str, vbNullChar)
    If posNullChar > 0 Then
         CleanString = Left$(str, posNullChar - 1)
    Else
         CleanString = str
    End If

End Function