sql语句问题!!

iloveyaner 2004-04-07 02:57:29
如何过滤sql语句中的特殊字符
将下面代码插入数据库出现操作符丢失错误(有特殊字符)。插入其他的都正常,
我已经过滤了 " ' 两个字符。怎么还不行啊
字段是是字符型的
要插入数据库的代码如下。
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
...全文
53 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
thelostland 2004-04-07
  • 打赏
  • 举报
回复
Con = Replace(Con, "'", "''")
就行了
flyingZFX 2004-04-07
  • 打赏
  • 举报
回复
我晕
射天狼 2004-04-07
  • 打赏
  • 举报
回复
Con = (Replace(Text1.Text, """", Chr(34)))
Con = Replace(Con, "'", Chr(39))

我晕,你这跟没替换一个样!!替换完之后根本就没变啊!~~~~~~

iloveyaner 2004-04-07
  • 打赏
  • 举报
回复
MCCmd是自己定义的函数。执行sql语句的
Public Function MCCmd(SQL As String)
Set Cmd = CreateObject("ADODB.Command")
Cmd.ActiveConnection = Conn
Cmd.CommandText = SQL
Cmd.CommandType = 1
Cmd.CommandTimeout = 0
Cmd.Prepared = True
Set MCCmd = Cmd.Execute()
T = MsgBox("操作成功!", vbOKOnly, "操作成功")
End Function
iloveyaner 2004-04-07
  • 打赏
  • 举报
回复
源代码如下:
Con = (Replace(Text1.Text, """", Chr(34)))
Con = Replace(Con, "'", Chr(39))
MCCmd "Insert into code (Subject,Content,Type,ind) values('" & Text3.Text & "','" & Con & "','" & Combo1.Text & "',#" & Text2.Text & "#)"
Text1.Text = ""
Text2.Text = Now()
Text3.Text = ""
Combo1.Text = ""
Rec ("select * from [Type]")
Combo1.Clear
While Not Rs.EOF
Combo1.AddItem Rs(0)
Rs.MoveNext
Wend
射天狼 2004-04-07
  • 打赏
  • 举报
回复
看查询的代码,给插入的代码有什么用!!
你是怎么过滤的特殊字符...

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧