ASP编程:ASP中实行数据库查询中的特别字符的成绩...
大家可以自己去看一看.可以说看得想呕吐.以前有次下了个动网来看.里面连基本内置函数的保护措施(函数没防御性)都没有.难怪经常补这个补那个了.可能现在.NET版会好点吧数据|数据库|成绩|实行 在举行数据库的查询时,会常常碰到如许的情形:比方想在一个用户数据库中查询他的用户名和他的暗码,但刚好该用户利用的名字和暗码中有特别的字符,比方单引号,“|”号
双引号大概连字符“&”。
比方他的名字是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)&""想法是和程序员的想法不一样的.至于为什么.大家去想一想.跟心理学有关的 作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。 下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助... 接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。 作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。 运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
页:
[1]