您的位置:寻梦网首页编程乐园ASP编程>关于ASP中的单引号、双引号、连字符&
ASP世界
关于ASP中的单引号、双引号、连字符&
作者:佚名  转自:Internet

自学习ASP以来,经常被夹杂在ASP程序中的单引号、双引号、连字符&搞得一头雾水,为此专门用一篇文章的篇幅进行总结,不正确之处,请指出。
  要点:
  VB及VBScript中,标记字符串变量内容用双引号,用两个连续的双引号表示字符串中的双引号。如:
  Response.Write "站点域名是:""wpedu.net""。"
  SQL语法中,标记字符串变量内容用单引号,用两个连续的单引号表示字符串中的单引号。如:
  "select no,'''Testing'''test from bable where no='000300'"
  VB及VBScript编程时访问数据库最常用的语句:第一,选择查询(select),返回结果集;第二,动作查询(update、insert、delete等),无结果集。无论哪一种语句,经常需要根据用户的输入来构造符合SQL语法的字符串(加双引号)赋给一个变量,提交给连结对象或结果集对象来执行(open或execute方法)。
  在ASP语句中,紧跟在单独的一个单引号后面的内容是注释。但如果单引号位于一对双引号内(即为字符串的一部分)时单引号为字符串的一部分,而不起注释作用。
  如果标签或者内容中使用了引号,在ASP中要使用双引号,如:<FONT SIZE=""+2""> (???值得商榷)
  ASP中处在双引号中的可以是任意的字符、字符串,HTML代码:
  <%response.write ("<b>要显示的文字</b>")%>
  如果要使上句中的文字加上红色,则:
  <%response.write("<font color=" & "#ff0000" & ">文字</font>")%>
  或<% response.write("<font color=' #ff0000 '>文字</font>") %>
  ASP中&号(或+号,避免数字形式时产生相加,少用),用来连接变量和HTML的内容信息,包括:字符串-字符串、字符串-变量、变量-变量等,如:
  Response.Write Rs("Name") & ", "
  exec="insert into table(name,tel,message)values('"+name+"',"+tel+",'"+message+"')"
  exec="insert into table(name,tel,message)values('张三',123456,'消息内容')" //该句是用值代替上句的变量
  定义一个变量mycolor,按照一般原则,变量放在response.write里面是不需要加双引号的,加上双引号(内含或内套的字符串用单引号)就表示是字符串,是已赋值的变量,而非没赋值的变量:
  <%
  mycolor="#ff0000"
  response.write ("<font color='"&mycolor&" '>" & "文字" & "</font>")
  %>
  如果要输出的是变量,可以直接这样写:response.write(mycolor)
  下句输出语句中前mycolor表示字符串,后mycolor表示变量:
  <%
  mycolor="#0000ff"
  response.write ("<font color='"&mycolor&" '>" & mycolor & "</font>")
  %>
  HTML和ASP的混合使用:
  <%mycolor="#0000ff"%>
  <td><font color=<%=mycolor%>><%=mycolor%></td>
  引号是成对出现的,引号里面的可以看成是字符串(&与&之间的是变量)。下面的request("username")变量作为一个整体必须是在引号外面的。SQL语句中不能有变量,必须是字符串;如果出现变量,要通过连接符再把变量组织到SQL语句中。
  错误:"Select * From table where username=&request("username")"
  正确:"Select * From table where username="&request("username")
  遇到双引号里面需要再嵌套双引号时,里层双引号改成单引号:
  "Select * From table where username = 'zhangshan'"
  单引号同样是一个字符,用在SQL语句中,也要用""包括在里面:
  "Select * From  table  where username = '" & zhangshan &"'"
  sql = "select * from u_id where id='" & id & "'"
  综合例子:
  exec="insert into table(name,tel,message)values('"&name&"',"&tel&",'"&message&"')"
 或exec="insert into table(name,tel,message)values('"+name+"',"+tel+",'"+message+"')"
  exec="insert into table(name,tel,message)values('张三',123456,'文字内容')"
  拆分理解:
  exec="insert into table(name,tel,message)values('"
  exce=exce & name
  exce=exce & "',"
  exce=exce & tel
  exce=exce & ",'"
  exce=exce & message
  exce=exce & "')"