频道直达 - 学院 - 下载 - 交易 - 特效 - 字库 - 手册 -排名-工具- 繁體
网页教学网站开发 设为首页
加入收藏
联系我们
建站搜索: 常用广告代码   用户注册 | 用户登陆
您当前的位置:中国建站之家 -> 网站开发设计技术教程 -> asp教程 -> 数据库查询中的特殊字符的问题

数据库查询中的特殊字符的问题

作者:未知  来源:转载  发布时间:2005-9-18 0:34:12  发布人:acx

减小字体 增大字体

在进行数据库的查询时,会经常遇到这样的情况:
例如想在一个用户数据库中查询他的用户名和他的密码,但恰好该用户使用的名字和密码中有特殊的字符,例如单引号,“|”号,双引号或者连字符“&”。
例如他的名字是1"test,密码是A|&900
这时当你执行以下的查询语句时,肯定会报错:
SQL = "SELECT * FROM SecurityLevel WHERE UID="" & UserID & """
SQL = SQL & " AND PWD="" & Password & """
因为你的SQL将会是这样:
SELECT * FROM SecurityLevel WHERE UID="1"test" 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) & """


将本文收藏到QQ书签与更多好友分享
[打 印]
[] [返回上一页] [收 藏]
上一篇文章:通用数据库显示程序
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
精彩推荐
热门文章
· 注册码大全二
· 注册码大全四
· 注册码大全一
· 要10G免费网络硬盘的请进..
· 通过google 赶快来赚美金..
· 注册码大全十
· 头像-qq头像(qq新头像)4..
· 让你轻松架设FTP服务器1..
· 注册码大全三
· 梦幻背景图片7
· 卡通动物图片6
· 网页制作素材-按钮素材2..
· 让你轻松架设FTP服务器5..
· 风景图片8
· 注册码大全九
· 让你轻松架设FTP服务器2..
关注此文读者还看过
· 下拉菜单全攻略之Dreamw..
· 基于asp.net的webmenu的..
· 反流氓软件联盟成员状告..
· 实现强大的翻页跳转功能..
· 马化腾称淘宝不会一家独..
· 用php实现gb2312和unico..
· 用 Fireworks MX 做齿轮..
· 使用ERRORSTACK进行错误..
· 下拉菜单输入,根据输入内..
· 应用Photoshop的LAB模式..
· 知识搜索应运而生 引领..
· 我整理的一点关于MySQL4..
· Photoshop CS2 新功能体..
· 日本最大IT媒体集团1000..
· Photoshop滤镜简单制作立..
· Photoshop 创建凹陷按钮..
相关文章
· SQL Server数据库查询优化的..
· ASP基础教程:数据库查询语言..
· ASP基础教程:数据库查询语言..
· 基于WEB的数据库查询
· PHP+MYSQL+Javascript数据库..
· 解决在执行数据库查询中的特..
· 连接数据库查询手册
· 用ASP和WML来实现数据库查询..
· 数据库查询语言(2)
· 数据库查询语言(1)
· ASP教程:数据库查询语言(1..
· ASP教程:数据库查询语言(2..
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 人才招聘
网站合作、内容监督、商务咨询:QQ: 9576619
Copyright ? 2005--2008 中国建站之家版权所有
粤ICP备05092265号