SQL中文本字段值中的单引号,要用两个单引号表示。
可以在拼SQL语句的时候,先Replace(txtPrdName.txt,"'","''")这样,再拼进SQL.
但现在我的问题是,如果要防止这个问题,像上边这样的话,所有拼SQL的程序都得改,非常多。
我的SQL语句是一个函数集中执行的。那位高手有什么办法,在SQL语句已经拼好的情况下,检查其中的非法单引号,然后改为两个?
有这样现成的函数的话,将会非常感激。
多谢各位高手。

解决方案 »

  1.   

    最后替换不是一样吗?
    replace(strSql,"'","''")
      

  2.   

    Function ProcessStr(ByVal str As String) As String
    Dim pos As Long
    Dim stedest As String
        pos = InStr(str, "'")
          
        While pos > 0
            str = Mid(str, 1, pos) & "'" & Mid(str, pos + 1)
            pos = InStr(pos + 2, str, "'")
        Wend
        ProcessStr = str
    End Function
      

  3.   

    好像跟我碰到的问题一样呢!
    我的问题是,想要把已经拼凑好的Sql语句用update插入到数据库中,同样因为sql语句中的引号而没有办法实现,不知道能不能解决这个问题。
    忘高手指点,谢谢!
      

  4.   

    我的问题差不多: 在insert into 时,保存的文本中有 '和"",我一时页没想号怎么解决,开始想 进行代码转换,以string的形式保存,后来,又考虑是不是变成二进制好一些,这些数据,查询的时候还要使用!看来,只要暂时用 yunfeng007(一水寒) 的方法了!gz