成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

當(dāng)前位置:首頁(yè)>>開發(fā)編程>>數(shù)據(jù)庫(kù)>>新聞內(nèi)容
數(shù)據(jù)庫(kù)查詢中的特殊字符的問(wèn)題
作者:追風(fēng) 發(fā)布時(shí)間:2003-10-7 14:23:45 文章來(lái)源:中國(guó)BS網(wǎng)
在進(jìn)行數(shù)據(jù)庫(kù)的查詢時(shí),會(huì)經(jīng)常遇到這樣的情況:
  例如想在一個(gè)用戶數(shù)據(jù)庫(kù)中查詢他的用戶名和他的密碼,但恰好該用戶使用的名字和密碼中有特殊的字符,例如單引號(hào),“|”號(hào),雙引號(hào)或者連字符“&”。
  例如他的名字是1"test,密碼是A|&900
  這時(shí)當(dāng)你執(zhí)行以下的查詢語(yǔ)句時(shí),肯定會(huì)報(bào)錯(cuò):
SQL = "SELECT * FROM SecurityLevel WHERE UID="" & UserID & """
SQL = SQL & " AND PWD="" & Password & """
  因?yàn)槟愕腟QL將會(huì)是這樣:
SELECT * FROM SecurityLevel WHERE UID="1"test" AND PWD="A|&900"
  在SQL中,"|"為分割字段用的,顯然會(huì)出錯(cuò)了。現(xiàn)在提供下面的幾個(gè)函數(shù) 專門用來(lái)處理這些頭疼的東西:
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
  有了上面幾個(gè)函數(shù)后,當(dāng)你在執(zhí)行一個(gè)sql前,請(qǐng)先使用
SQL = "SELECT * FROM SecurityLevel WHERE UID="" & SQLFixup(UserID) & """
SQL = SQL & " AND PWD="" & SQLFixup(Password) & """


最新更新
·SQL Server 2005 Express 遠(yuǎn)
·啟用SQL Server 2005 Expres
·Windows下如何安裝或卸載MyS
·解決MySQL5數(shù)據(jù)庫(kù)連接超時(shí)問(wèn)
·清除SQL Server日志的兩種方
·2008主流數(shù)據(jù)庫(kù)產(chǎn)品回顧與展
·MySQL數(shù)據(jù)庫(kù)字符集和整理列表
·MySQL 5.0社區(qū)版和企業(yè)版的區(qū)
·怎樣在SQL Server中去除表中
·Berkeley DB數(shù)據(jù)庫(kù)是什么數(shù)據(jù)
相關(guān)信息
放生
愚愛(ài)
夠愛(ài)
觸電
白狐
心跳
知足
犯錯(cuò)
降臨
分愛(ài)
葬愛(ài)
光榮
畫心
火花
稻香
愛(ài)得起
這種愛(ài)
大丈夫
花蝴蝶
二缺一
小酒窩
下雨天
右手邊
安靜了
棉花糖
明天過(guò)后
邊做邊愛(ài)
擦肩而過(guò)
沒(méi)有如果
懷念過(guò)去
等一分鐘
越來(lái)越愛(ài)
寂寞暴走
你的承諾
Nobody
我們都一樣
永遠(yuǎn)在身邊
天使的翅膀
原諒我一次
i miss you
原諒我一次
吻的太逼真
姑娘我愛(ài)你
做你的愛(ài)人
一定要愛(ài)你
飛向別人的床
愛(ài)上別人的人
感動(dòng)天感動(dòng)地
心在跳情在燒
不潮不用花錢
如何能把你忘記
即使知道要見面
愛(ài)上你是一個(gè)錯(cuò)
最后一次的溫柔
愛(ài)上你是我的錯(cuò)
怎么會(huì)狠心傷害我
親愛(ài)的那不是愛(ài)情
傷心時(shí)候可以聽情歌
愛(ài)上你等于愛(ài)上了錯(cuò)
不是因?yàn)榧拍畔肽?/a>
主站蜘蛛池模板: 高州市| 济南市| 柯坪县| 左云县| 武胜县| 宁津县| 兰考县| 逊克县| 台中市| 内丘县| 宝兴县| 龙江县| 夹江县| 闽侯县| 西乡县| 榆树市| 麻江县| 红桥区| 鄄城县| 绥中县| 富蕴县| 宽城| 福安市| 嵊州市| 临武县| 江西省| 东丽区| 桑日县| 根河市| 遵化市| 赤城县| 瓮安县| 宽甸| 永泰县| 洪江市| 仁化县| 莱阳市| 措勤县| 左云县| 扎赉特旗| 西藏|