如何过滤sql语句中的特殊字符
将下面代码插入数据库出现操作符错误(有特殊字符)。但如果输入的少就不会出现
我已经过滤了 " ' 两个字符。怎么还不行啊
是字符型的

解决方案 »

  1.   

    function getpychar(char)
    tmp=65536+asc(char)
    if(tmp>=45217 and tmp<=45252) then 
    getpychar= "A"
    elseif(tmp>=45253 and tmp<=45760) then
    getpychar= "B"
    elseif(tmp>=45761 and tmp<=46317) then
    getpychar= "C"
    elseif(tmp>=46318 and tmp<=46825) then
    getpychar= "D"
    elseif(tmp>=46826 and tmp<=47009) then 
    getpychar= "E"
    elseif(tmp>=47010 and tmp<=47296) then 
    getpychar= "F"
    elseif(tmp>=47297 and tmp<=47613) then 
    getpychar= "G"
    elseif(tmp>=47614 and tmp<=48118) then
    getpychar= "H"
    elseif(tmp>=48119 and tmp<=49061) then
    getpychar= "J"
    elseif(tmp>=49062 and tmp<=49323) then 
    getpychar= "K"
    elseif(tmp>=49324 and tmp<=49895) then 
    getpychar= "L"
    elseif(tmp>=49896 and tmp<=50370) then 
    getpychar= "M"
    elseif(tmp>=50371 and tmp<=50613) then 
    getpychar= "N"
    elseif(tmp>=50614 and tmp<=50621) then 
    getpychar= "O"
    elseif(tmp>=50622 and tmp<=50905) then
    getpychar= "P"
    elseif(tmp>=50906 and tmp<=51386) then 
    getpychar= "Q"
    elseif(tmp>=51387 and tmp<=51445) then 
    getpychar= "R"
    elseif(tmp>=51446 and tmp<=52217) then 
    getpychar= "S"
    elseif(tmp>=52218 and tmp<=52697) then 
    getpychar= "T"
    elseif(tmp>=52698 and tmp<=52979) then 
    getpychar= "W"
    elseif(tmp>=52980 and tmp<=53640) then 
    getpychar= "X"
    elseif(tmp>=53689 and tmp<=54480) then 
    getpychar= "Y"
    elseif(tmp>=54481 and tmp<=62289) then
    getpychar= "Z"
    else '如果不是中文,则不处理
    getpychar=char
    end if
    end function
    function getpy(str)
    for i=1 to len(str)
    getpy=getpy&getpychar(mid(str,i,1))
    next
    end function
      

  2.   

    你在哪过滤的特殊字符!?
    你把SQL语句输出来,在查询编辑器中执行一下看有什么问题就知道了!