小弟做一模块,文本为它部门从oracle9i中取出,文本行数都正常,每行文本含多个变量以","区分,变量未去空格,可是在对v中取出的行字符串再次进行split方式处理时,总是报错,希望大家多多帮忙........Dim s As String
dim str as strings = String(FileLen("d:\text.txt"," ")   '取文本以内存字符串形式
Open "d:\text.txt" For Binary As 1
  Get #1, , s
Close 1v = Split(s, vbCrLf) For k = 0 To UBound(v) - 1   '遍历数组分别取值插入表
    n = Split(v(k), ",")
    str="insert into table (a) values ('"+n(0)+"')"
    执行cmd的插入操作...
Next问题是,str="insert into table (a) values ('"+n(0)+"')"总是报错,查后发现n(0)取出的值总是带有一串空字符,trim(n(0)),后不起作用,猜想可能是字符格式转化问题,搞了半天也没出来,请大家帮忙看看,多多感谢!

解决方案 »

  1.   

    我给你个函数,试试:Function TrimNull(ByVal StrIn As String) As String
         Dim nul As Long
         nul = InStr(StrIn, vbNullChar)
         Select Case nul
            Case Is > 1
               TrimNull = Left(StrIn, nul - 1)
            Case 1
               TrimNull = ""
            Case 0
               TrimNull = Trim(StrIn)
         End Select
    End Function
      

  2.   

    查后发现n(0)取出的值总是带有一串空字符,trim(n(0)),后不起作用,猜想可能是字符格式转化问题
    =============================
    那些可能并不是空字符而是一些不可打印字符,所以trim不起作用。。
    建议
    for i=1 to len(n(0))
    debug.print asc(mid(n(0),i,1))
    next看看那些是什么。。
    如果是空格,asc码为32。。