设为首页   加入最爱           最新更新:全方位英文文章资料库
 
资料坊搜索: 标题 全文     
解决在执行数据库查询中的特殊字符的问题
   首页>>YesizeCOM>>电脑技能坊>>ASP>>正文       
 
广告招租,e-mail:yesize@hotmail.com

广告招租,e-mail:yesize@hotmail.com


在进行数据库的查询时,会经常遇到这样的情况:
例如想在一个用户数据库中查询他的用户名和他的密码,
但恰好该用户使用的名字和密码中有特殊的字符,例如单引号,“|”号
双引号或者连字符“&”
例如他的名字是1test,密码是A|&900
这时当你执行以下的查询语句时,肯定会抱错:
SQL = "SELECT * FROM SecurityLevel WHERE UID=" & UserID & ""
SQL = SQL & " AND PWD=" & Password & ""
因为你的SQL将会是这样:
SELECT * FROM SecurityLevel WHERE UID=1test
AND PWD=A|&900
在SQL中,"|"为分割字段用的,显然会出错了。现在提供下面的几个函数
专门用来处理这些头疼的东西:

Function ReplaceStr (TextIn, ByVal SearchStr As String, _
ByVal Replacement As String, _
ByVal CompMode As Integer)
Dim WorkText As String, Pointer As Integer
If IsNull(TextIn) Then
ReplaceStr = Null
Else
WorkText = TextIn
Pointer = InStr(1, WorkText, SearchStr, CompMode)
Do While Pointer > 0
WorkText = Left(WorkText, Pointer - 1) & Replacement & _
Mid(WorkText, Pointer + Len(SearchStr))
Pointer = InStr(Pointer + Len(Replacement), WorkText, _
SearchStr, CompMode)
Loop
ReplaceStr = WorkText
End If
End Function

Function SQLFixup(TextIn)
SQLFixup = ReplaceStr(TextIn, "", "", 0)
End Function

Function JetSQLFixup(TextIn)
Dim Temp
Temp = ReplaceStr(TextIn, "", "", 0)
JetSQLFixup = ReplaceStr(Temp, "|", " & chr(124) & ", 0)
End Function

Function FindFirstFixup(TextIn)
Dim Temp
Temp = ReplaceStr(TextIn, "", " & chr(39) & ", 0)
FindFirstFixup = ReplaceStr(Temp, "|", " & chr(124) & ", 0)
End Function

有了上面几个函数后,当你在执行一个sql前,请先使用
SQL = "SELECT * FROM SecurityLevel WHERE UID=" & SQLFixup(UserID) & ""
SQL = SQL & " AND PWD=" & SQLFixup(Password) & ""


上一篇:asp分页显示详论 下一篇:ASP中使用Office2000中的图表控件

版权说明:作品来源于网上,版权归作者所有,如果无意中侵犯了您的版权,请来信告知,本站将在3个工作日内删除。yesize@hotmail.com
  热门小游戏分类 
射击小游戏 连连看小游戏
台球小游戏 成人小游戏
CS小游戏 化妆小游戏
赛车小游戏 休闲小游戏
篮球小游戏 换装小游戏
儿童小游戏 牛牛小游戏
麻将小游戏 冒险小游戏
美媚小游戏 益智小游戏
体育小游戏  
Society Recreation & Sports
Travel & Leisure Communications
Vehicles Computers
Fashion Arts & Entertainment
Reference & Education Disease & Illness
Writing & Speaking Politics
Product Reviews Food & Beverage
Finance Internet Business
Self Improvement Home & Family
Health & Fitness Business
最新更新内容
警惕“公务员报考热”背
公务员考试不是丈母娘考
一名新公务员的自白:我
公务员考脑筋急转弯与挂
北努斗:2006行政能力测
大讨论:06行测BT题目大
过来人回忆:当年,我也
一家之言:公务员热折射
公务员考试申论要是有正
数十万大学生走进公务员
      粤ICP备05005424         Copyright ©2000 - 2004 Yesize.COM