⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 12-2-5.cfm.htm

📁 最全的ASP教程
💻 HTM
字号:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>使用CASE控制语句执行</title>
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
</head>

<body>
<font FACE="宋体"><b>

<p ALIGN="JUSTIFY">使用CASE控制语句执行</p>
</b></font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY">假设你想在网页上显示你喜欢站点的名称,URL,和关于它的简单描述。更进一步,你想在列出这些站点时在站点的名称旁边指明每一个网站的类型。比如,在政府机关网站的旁边,你会显示单词Government;在商业网站的旁边,显示单词Commercial。为了做到这一点,你可能会创建一个具有4列的表。前三列和原先的一样,分别是名称列,URL列,简单描述列。另外你可能会添加一个新列,该列为每一个网站的类型。</p>

<p ALIGN="JUSTIFY">但在实际上,你不需要这样做…有一种能获得同样的结果但是更好的方法。</p>

<p ALIGN="JUSTIFY">按照上面的做法,你的数据表中就会包含多余的信息。因为在URL列中已经包含了每一个网站类型的信息。通过查看每一个URL最后的三个字母,你就能确定某个网站是商业的,政府的和教育的等等。所以你不需要在数据表中添加新列重复同样的信息。但是当你在读取数据表中的记录时你是如何在URL列中获取该信息的呢?你可以使用CASE表达式来做到这一点。如下面的例子所示:</p>

<p ALIGN="JUSTIFY">SELECT</p>

<p ALIGN="JUSTIFY">(</p>

<p ALIGN="JUSTIFY">CASE </p>

<p ALIGN="JUSTIFY">WHEN site_url LIKE </font><font SIZE="3">“</font><font FACE="宋体"
SIZE="3">%edu</font><font SIZE="3">”</font><font FACE="宋体" SIZE="3"> THEN </font><font
SIZE="3">“</font><font FACE="宋体" SIZE="3">Educational</font><font SIZE="3">”</p>
</font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY">WHEN site_url LIKE </font><font SIZE="3">“</font><font FACE="宋体"
SIZE="3">%gov</font><font SIZE="3">”</font><font FACE="宋体" SIZE="3"> THEN </font><font
SIZE="3">“</font><font FACE="宋体" SIZE="3">Government</font><font SIZE="3">”</p>
</font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY">WHEN site_url LIKE </font><font SIZE="3">“</font><font FACE="宋体"
SIZE="3">%com</font><font SIZE="3">”</font><font FACE="宋体" SIZE="3"> THEN </font><font
SIZE="3">“</font><font FACE="宋体" SIZE="3">Commercial</font><font SIZE="3">”</p>
</font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY">ELSE </font><font SIZE="3">“</font><font FACE="宋体" SIZE="3">Other</font><font
SIZE="3">”</p>
</font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY">END</p>

<p ALIGN="JUSTIFY">) </font><font SIZE="3">“</font><font FACE="宋体" SIZE="3">TYPE</font><font
SIZE="3">”</font><font FACE="宋体" SIZE="3">,</p>

<p ALIGN="JUSTIFY">site_name </font><font SIZE="3">“</font><font FACE="宋体" SIZE="3">Name</font><font
SIZE="3">”</font><font FACE="宋体" SIZE="3">,</p>

<p ALIGN="JUSTIFY">site_URL </font><font SIZE="3">“</font><font FACE="宋体" SIZE="3">URL</font><font
SIZE="3">”</font><font FACE="宋体" SIZE="3">,</p>

<p ALIGN="JUSTIFY">site_desc </font><font SIZE="3">“</font><font FACE="宋体" SIZE="3">Description</font><font
SIZE="3">”</p>
</font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY">FROM site_directory</p>

<p ALIGN="JUSTIFY"> </p>
<b>

<p ALIGN="JUSTIFY">注意</p>
</b>

<p ALIGN="JUSTIFY">字母.edu,.gov,和.com都是顶级域名的例子,目前还有许多的顶级域名在使用,比如,假如某个网站的域名以字母.cn结尾,这就指明该网站建在中国大陆。</p>

<p ALIGN="JUSTIFY">当上面的SELECT语句执行时,你就会接收到正确的结果。为了返回正确的值,我们使用CASE表达式对site_url列进行了检测。比如,当site_url列的值以三个字母edu结尾时,就会返回值Educational。下面就是从该查询返回结果的一个例子:</p>
</font>

<table CELLSPACING="0" BORDER="0" CELLPADDING="7" WIDTH="607">
  <tr>
    <td WIDTH="23%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">Type</font></td>
    <td WIDTH="23%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">Name</font></td>
    <td WIDTH="23%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">URL</font></td>
    <td WIDTH="30%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">Description</font></td>
  </tr>
  <tr>
    <td WIDTH="23%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">……………..</font></td>
    <td WIDTH="23%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">………………</font></td>
    <td WIDTH="23%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">厖厖厖 </font></td>
    <td WIDTH="30%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">厖厖厖</font></td>
  </tr>
  <tr>
    <td WIDTH="23%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">Commercial</font></td>
    <td WIDTH="23%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">Microsoft</font></td>
    <td WIDTH="23%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">www.microsoft.com</font></td>
    <td WIDTH="30%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">The Creators 
    of Active Server Pages</font></td>
  </tr>
  <tr>
    <td WIDTH="23%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">Commercial</font></td>
    <td WIDTH="23%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">Yahoo</font></td>
    <td WIDTH="23%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">www.yahoo.com</font></td>
    <td WIDTH="30%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">One of the 
    best Internet Directories</font></td>
  </tr>
  <tr>
    <td WIDTH="23%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">Commercial</font></td>
    <td WIDTH="23%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">Collegescape</font></td>
    <td WIDTH="23%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">www.collegescape.com</font></td>
    <td WIDTH="30%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">Apply to over 
    50 colleges online</font></td>
  </tr>
  <tr>
    <td WIDTH="23%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">Educational</font></td>
    <td WIDTH="23%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">MIT</font></td>
    <td WIDTH="23%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">www.mit.edu</font></td>
    <td WIDTH="30%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">The 
    Massachusetts Institute of Technology</font></td>
  </tr>
  <tr>
    <td WIDTH="23%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">Government</font></td>
    <td WIDTH="23%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">The 
    whitehouse</font></td>
    <td WIDTH="23%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">www.whitehouse.gov</font></td>
    <td WIDTH="30%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">The residence 
    of the Prisedent</font></td>
  </tr>
</table>
<font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY">使用CASE语句,你可以测试不同的条件,并且基于不同的结果返回不同的值。对于每一个测试,都有对应的WHEN短句。在该例子中,当在WHEN短句后面的语句为真时,返回在相应的THEN短句后面的值。如果没有一个WHEN短句后面的语句为真,则返回在ELSE短句后面的值。</p>

<p ALIGN="JUSTIFY">所有的多个WHEN短句和可以选择的单个ELSE短句都必须包含在表达式CASE和END之间。关键字CASE指明CASE语句的开始。而关键字END指明CASE语句的结束。</p>

<p ALIGN="JUSTIFY">CASE语句具有另外一种稍微不同的格式。考察在下面的例子内是如何使用CASE语句的:</p>

<p ALIGN="JUSTIFY">SELECT</p>

<p ALIGN="JUSTIFY">(CASE</p>

<p ALIGN="JUSTIFY">site_name</p>

<p ALIGN="JUSTIFY">WHEN </font><font SIZE="3">“</font><font FACE="宋体" SIZE="3">Yahoo</font><font
SIZE="3">”</font><font FACE="宋体" SIZE="3"> THEN </font><font SIZE="3">“</font><font
FACE="宋体" SIZE="3">Internet Directory</font><font SIZE="3">”</p>
</font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY">WHEN </font><font SIZE="3">“</font><font FACE="宋体" SIZE="3">Microsoft</font><font
SIZE="3">”</font><font FACE="宋体" SIZE="3"> THEN </font><font SIZE="3">“</font><font
FACE="宋体" SIZE="3">Software Giant</font><font SIZE="3">”</p>
</font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY">ELSE </font><font SIZE="3">“</font><font FACE="宋体" SIZE="3">Other</font><font
SIZE="3">”</p>
</font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY">END</p>

<p ALIGN="JUSTIFY">)</font><font SIZE="3">”</font><font FACE="宋体" SIZE="3">Type</font><font
SIZE="3">”</font><font FACE="宋体" SIZE="3">,</p>

<p ALIGN="JUSTIFY">site_name </font><font SIZE="3">“</font><font FACE="宋体" SIZE="3">Name</font><font
SIZE="3">”</font><font FACE="宋体" SIZE="3">,</p>

<p ALIGN="JUSTIFY">site_URL </font><font SIZE="3">“</font><font FACE="宋体" SIZE="3">URL</font><font
SIZE="3">”</font><font FACE="宋体" SIZE="3">,</p>

<p ALIGN="JUSTIFY">site_desc </font><font SIZE="3">“</font><font FACE="宋体" SIZE="3">Description</font><font
SIZE="3">”</p>
</font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY">FROM site_directory</p>

<p ALIGN="JUSTIFY">该例子同样显示网站列表的类型,名称,URL和简要描述。所不同的是,在该例子中,每个网站的类型是由网站的名称决定的,而不是URL。下面就是该批处理的结果:</p>
</font>

<table CELLSPACING="0" BORDER="0" CELLPADDING="7" WIDTH="568">
  <tr>
    <td WIDTH="22%" VALIGN="TOP"><font SIZE="3"><p ALIGN="JUSTIFY">Type</font></td>
    <td WIDTH="17%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">Name</font></td>
    <td WIDTH="30%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">URL</font></td>
    <td WIDTH="31%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">Description</font></td>
  </tr>
  <tr>
    <td WIDTH="22%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">Software 
    Giant</font></td>
    <td WIDTH="17%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">Microsoft</font></td>
    <td WIDTH="30%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY"></font><a
    HREF="javascript:if(confirm('http://www.microsift.com/  \n\n文件并未按 Teleport Pro 取回, 因为 它的域或路径超过启始网址中设定的范围。  \n\n你要从服务器上打开它吗? '))window.location='http://www.microsift.com/'" tppabs="http://www.microsift.com/"><font FACE="宋体" SIZE="3" COLOR="#0000ff"><u>www.microsift.com</u></font></a></td>
    <td WIDTH="31%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">The Creators 
    of Active Server Pages</font></td>
  </tr>
  <tr>
    <td WIDTH="22%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">Internet 
    Directory</font></td>
    <td WIDTH="17%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">Yahoo</font></td>
    <td WIDTH="30%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY"></font><a
    HREF="javascript:if(confirm('http://www.yahoo.com/  \n\n文件并未按 Teleport Pro 取回, 因为 它的域或路径超过启始网址中设定的范围。  \n\n你要从服务器上打开它吗? '))window.location='http://www.yahoo.com/'" tppabs="http://www.yahoo.com/"><font FACE="宋体" SIZE="3" COLOR="#0000ff"><u>www.yahoo.com</u></font></a></td>
    <td WIDTH="31%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">One of the 
    best Internet Directories</font></td>
  </tr>
  <tr>
    <td WIDTH="22%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">Other</font></td>
    <td WIDTH="17%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">Collegescape</font></td>
    <td WIDTH="30%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY"></font><a
    HREF="javascript:if(confirm('http://www.collegescape.com/  \n\n文件并未按 Teleport Pro 取回, 因为 它的域或路径超过启始网址中设定的范围。  \n\n你要从服务器上打开它吗? '))window.location='http://www.collegescape.com/'" tppabs="http://www.collegescape.com/"><font FACE="宋体" SIZE="3" COLOR="#0000ff"><u>www.collegescape.com</u></font></a></td>
    <td WIDTH="31%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">Apply to over 
    50 college online</font></td>
  </tr>
  <tr>
    <td WIDTH="22%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">Other</font></td>
    <td WIDTH="17%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">MIT</font></td>
    <td WIDTH="30%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY"></font><a
    HREF="javascript:if(confirm('http://www.mit.edu/  \n\n文件并未按 Teleport Pro 取回, 因为 它的域或路径超过启始网址中设定的范围。  \n\n你要从服务器上打开它吗? '))window.location='http://www.mit.edu/'" tppabs="http://www.mit.edu/"><font FACE="宋体" SIZE="3" COLOR="#0000ff"><u>www.mit.edu</u></font></a></td>
    <td WIDTH="31%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">The 
    Massachusetts Institute of Technology</font></td>
  </tr>
  <tr>
    <td WIDTH="22%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">Other</font></td>
    <td WIDTH="17%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">The 
    whitehouse</font></td>
    <td WIDTH="30%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY"></font><a
    HREF="javascript:if(confirm('http://www.whitehouse.gov/  \n\n文件并未按 Teleport Pro 取回, 因为 它的域或路径超过启始网址中设定的范围。  \n\n你要从服务器上打开它吗? '))window.location='http://www.whitehouse.gov/'" tppabs="http://www.whitehouse.gov/"><font FACE="宋体" SIZE="3" COLOR="#0000ff"><u>www.whitehouse.gov</u></font></a></td>
    <td WIDTH="31%" VALIGN="TOP"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">The residence 
    of the President</font></td>
  </tr>
</table>
<font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY">(5 row(s) affected)</p>

<p ALIGN="JUSTIFY">请注意在该例子中,CASE例子是如何书写的。在该CASE语句中,在WHEN短语后面并没有跟一个语句,而是要与site_name列的值相比较的值。</p>

<p ALIGN="JUSTIFY">当你具有多个条件且每一个条件都是可真或可假时,你必须使用第一种CASE语句格式。假如你需要把一个值和多个值比较时,则使用第二种格式。</p>
</font>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -