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
...全文
8 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
看查询的代码,给插入的代码有什么用!!
你是怎么过滤的特殊字符...
回复
相关推荐
发帖
VB基础类
创建于2007-09-28

7491

社区成员

VB 基础类
申请成为版主
帖子事件
创建了帖子
2004-04-07 02:57
社区公告
暂无公告