文本框Text1中輸入文字 99' 
上面的文字中含有單引號,然後用下面的語句:
"Update Pic_Pic_PDepartment Set x='" & text1.text & "'"
出錯.因為有單引號.怎樣解決呢?

解决方案 »

  1.   

    单引号前面再加一个单引号就可以了。Public Function AnalysisInput(ByVal InputString As String) As String
    '吃掉单引号
        Dim intQueuePos As Long
        Dim intPos As Long
        
        intQueuePos = 0
        intPos = 0
        Do While intQueuePos < Len(InputString)
            intPos = InStr(intQueuePos + 1, InputString, "'")
            If intPos = 0 Then
                Exit Do
            Else
                InputString = Left(InputString, intPos) & "'" & Right(InputString, Len(InputString) - intPos)
                intQueuePos = intPos + 1
            End If
        Loop    AnalysisInput = InputString
    End Function
    --------------------------------------------------------------------"Update Pic_Pic_PDepartment Set x='" & AnalysisInput( text1.text) & "'"--------------------------------------------------------------------------
    :原因:SQL 2000的在线帮助里有:索引->"搜索值输入规则".
      

  2.   

    用replace()把单引号'替换成两个单引号''
      

  3.   

    Public Function ChkStr(ByVal Str As String) As String
        If Str = "" Then
            ChkStr = ""
            Exit Function
        End If
        Str = Trim(Str)
        ChkStr = Replace(Str, "'", "")
    End Function"Update Pic_Pic_PDepartment Set x='" & chkstr(text1.text) & "'"
      

  4.   

    都用这种方法
    replace(text1.text,"'","''")