|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
写软件都是想的时间比写的时间要长的.如果反过来了就得看看是什么原因了.另外大家可以回去问问公司里的小MM.(一般企业里,跟你们交付软件接触得最多的是她们)办理在ASP中实行数据库查询中的特别字符的成绩
在举行数据库的查询时,会常常碰到如许的情形:
比方想在一个用户数据库中查询他的用户名和他的暗码,但刚好该用户利用的名字和暗码中有特别的字符,比方单引号,“|”号
双引号大概连字符“&”。
比方他的名字是1test,暗码是A|&900
这时候当你实行以下的查询语句时,一定会报错:
SQL="SELECT*FROMSecurityLevelWHEREUID="&UserID&""
SQL=SQL&"ANDPWD="&Password&""
由于你的SQL将会是如许:
SELECT*FROMSecurityLevelWHEREUID=1test
ANDPWD=A|&900
在SQL中,"|"为支解字段用的,明显会堕落了。如今供应上面的几个函数专门用来处置这些头疼的器材:
FunctionReplaceStr(TextIn,ByValSearchStrAsString,_
ByValReplacementAsString,_
ByValCompModeAsInteger)
DimWorkTextAsString,PointerAsInteger
IfIsNull(TextIn)Then
ReplaceStr=Null
Else
WorkText=TextIn
Pointer=InStr(1,WorkText,SearchStr,CompMode)
DoWhilePointer>0
WorkText=Left(WorkText,Pointer-1)&Replacement&_
Mid(WorkText,Pointer+Len(SearchStr))
Pointer=InStr(Pointer+Len(Replacement),WorkText,_
SearchStr,CompMode)
Loop
ReplaceStr=WorkText
EndIf
EndFunction
FunctionSQLFixup(TextIn)
SQLFixup=ReplaceStr(TextIn,"","",0)
EndFunction
FunctionJetSQLFixup(TextIn)
DimTemp
Temp=ReplaceStr(TextIn,"","",0)
JetSQLFixup=ReplaceStr(Temp,"|","&chr(124)&",0)
EndFunction
FunctionFindFirstFixup(TextIn)
DimTemp
Temp=ReplaceStr(TextIn,"","&chr(39)&",0)
FindFirstFixup=ReplaceStr(Temp,"|","&chr(124)&",0)
EndFunction
有了下面几个函数后,当你在实行一个sql前,请先利用
SQL="SELECT*FROMSecurityLevelWHEREUID="&SQLFixup(UserID)&""
SQL=SQL&"ANDPWD="&SQLFixup(Password)&""
由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况; |
|