ASP教材中将单引号转义为双单引号后,sql语句如下,求解释 40
sql="SELECT*FROM[Admin]WHEREAdminName='"&sAdminName&"'ANDAdminPassword='"&sAdminPassw...
sql="SELECT*FROM[Admin] WHERE AdminName='"& sAdminName&"' AND AdminPassword='"& sAdminPassword&'"“
''' 目测应该是单引号内包双引号,但照此写入代码,程序不能正常运行,请问高手此处究竟是神马东西,并解释为何要用这么多引号套起来,只写AdminName=sAdminName不行吗?另外,此句中的&是干神马用的? 展开
''' 目测应该是单引号内包双引号,但照此写入代码,程序不能正常运行,请问高手此处究竟是神马东西,并解释为何要用这么多引号套起来,只写AdminName=sAdminName不行吗?另外,此句中的&是干神马用的? 展开
5个回答
展开全部
是双引号包含单引号。
&应当是连接符,相当于+
sql的语法是
select * from XXX where 字段A=值。这个值如果是字符串类型,那么就要用单引号包起来。即
select * from XXX where 字段A='值'
解析你的SQL就是
select * from [admin] where adminname ='sadminname' and password ='sadminpassword'
由cs代码的字符串遇到'时,要进行转译,所以用了双引号括起来,即变成你所见的三个引号。
&应当是连接符,相当于+
sql的语法是
select * from XXX where 字段A=值。这个值如果是字符串类型,那么就要用单引号包起来。即
select * from XXX where 字段A='值'
解析你的SQL就是
select * from [admin] where adminname ='sadminname' and password ='sadminpassword'
由cs代码的字符串遇到'时,要进行转译,所以用了双引号括起来,即变成你所见的三个引号。
追问
我认为将'"理解为三个单引号比较靠谱,但程序不能运行;改写为双引号包单引号后,后面的代码直接变灰,显然也不对,不知道怎么回事。
另外,此处的&让人费解,我只需从文本框sAdminName中提取数据与数据库中的AdminName内容比对,用&连接上别的东西后,岂不是让明明输入正确的数据永远跟数据库不吻合了吗?
展开全部
sql坐后面的用 英文半角 双引号
sql="SELECT*FROM[Admin] WHERE AdminName='"& sAdminName&"' AND AdminPassword='"& sAdminPassword&'""
sql="SELECT*FROM[Admin] WHERE AdminName='"& sAdminName&"' AND AdminPassword='"& sAdminPassword&'""
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sql="SELECT*FROM[Admin] WHERE AdminName='"& sAdminName&"' AND AdminPassword='"& sAdminPassword&"'"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sql="SELECT * FROM [Admin] WHERE AdminName='" & sAdminName & "' AND AdminPassword='" & sAdminPassword& & "'"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<%
Sql = "SELECT * FROM [Admin] WHERE AdminName='"& sAdminName&"' AND AdminPassword='"& sAdminPassword&"'"
'如果你的变量 sAdminName 或 sAdminPassword 包含' 或关键词 select insert or and 之类的话会出错,所以你在写这句话前,必须先给 sAdminName 和 sAdminPassword 进行过滤操作,比如把关键词换成全角的或直接用空格替换
%>
Sql = "SELECT * FROM [Admin] WHERE AdminName='"& sAdminName&"' AND AdminPassword='"& sAdminPassword&"'"
'如果你的变量 sAdminName 或 sAdminPassword 包含' 或关键词 select insert or and 之类的话会出错,所以你在写这句话前,必须先给 sAdminName 和 sAdminPassword 进行过滤操作,比如把关键词换成全角的或直接用空格替换
%>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询