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

📄 asp11.htm

📁 一本关于sap的电子书
💻 HTM
📖 第 1 页 / 共 2 页
字号:
        </tr>
        <tr> 
          <td width="16%">雷鸣</td>
          <td width="20%">8000</td>
          <td width="20%">10000</td>
        </tr>
        <tr> 
          <td width="16%">顾一</td>
          <td width="20%">9000</td>
          <td width="20%">9800</td>
        </tr>
        <tr> 
          <td width="16%">熠天</td>
          <td width="20%">20000</td>
          <td width="20%">20000</td>
        </tr>
        </tbody> 
      </table>
      <p><br>
      </p>
         接下来,我们做一个相对复杂的查询,列出销售额大于销售目标的所有男性的姓名、销售目标和销售额,并且按销售目标排序。 <br>
        Select 姓名,销售目标,销售额 <br>
        Form sales<br>
        Where 销售额 &gt; 销售目标 <br>
        And 性别 =&quot; 男 &quot;<br>
        Order By 销售目标 <br>
      <p>   结果如下 : <br>
      </p>
      <table border="1" cellpadding="0" cellspacing="1" width="59%">
        <tbody> 
        <tr> 
          <td bgcolor="#c0c0c0" width="16%">姓名</td>
          <td bgcolor="#c0c0c0" width="20%">销售目标</td>
          <td bgcolor="#c0c0c0" width="20%">销售额</td>
        </tr>
        <tr> 
          <td width="16%">书生</td>
          <td width="20%">8000</td>
          <td width="20%">9000</td>
        </tr>
        <tr> 
          <td width="16%">雷鸣</td>
          <td width="20%">8000</td>
          <td width="20%">10000</td>
        </tr>
        <tr> 
          <td width="16%">顾一</td>
          <td width="20%">9000</td>
          <td width="20%">9800</td>
        </tr>
        <tr> 
          <td width="16%">熠天</td>
          <td width="20%">20000</td>
          <td width="20%">20000</td>
        </tr>
        </tbody> 
      </table>
      <p><br>
      </p>
         大家可以看到,对于简单查询,SQL Select 语句和英文语法很相象,我们来分析一下 SELECT 语句的完整格式,它包括六个子句,其中 
      SELECT 和 FROM 子句是必须的,其它子句可以任选,每个子句的功能如下 :<br>
      <br>
         1、Select 子句列出所有要求 SELECT 语句检索的数据项。它放在 SELECT 语句开始处,指定此查询要检索的数据项。这些数据项通常用选择表表示,即一组用“,”隔开的选择项。按照从左到右的顺序,每个选择项产生的一个列的查询结果,一个选择项可能是以下项目:<br>
      <br>
         (1)、列名:标识 FROM 子句指定表中的列。如果列名作为选择项,则 SQL 直接从数据库表中每行取出该列的值,再将其放在查询结果的相应行中。 
      <p>   (2)、常数:指定在查询结果的每行中都放上该值。 </p>
      <p>   (3)、SQL 表达式:说明必须将要放入查询结果中的值按表达式的规定进行计算。 </p>
         2、From 子句列出包含所要查询数据的表,它由关键字 FROM 后跟一组用逗号分开的表名组成。每个表明都代表一个包括该查询要检索数据的表。这些表称为此 
      SQL 语句的表源,因为查询结果都源于它们。 
      <p>   3、Where 子句告诉 SQL 只查询某些行中的数据,这些行用搜索条件描述。 </p>
      <p>   4、Group By 子句指定汇总查询,即不是对每行产生一个查询结果,而是将相似的行进行分组,再对每组产生一个汇总结果。 </p>
      <p>   5、Having 子句告诉 SQL 只产生有 Group By 得到的某些组的结果,和 Where 子句一样,所需要的组也用一个搜索条件指定。 
      </p>
      <p>   6、Order By 子句将查询结果按一列或多列中的数据排序。如果省略此子句,则查询结果将是无序的。 </p>
      <p>   下面作者将提供一个简单但实用的运用 SQL 语句查询的 ASP 程序供大家参考。 </p>
         为了使大家更清楚更直接地了解 SQL 语法在 ASP 中的应用,我们先将查询的所有核心过程写成一个名为 query2table 的 SUB,然后利用 
      ASP 的服务器端包容功能调用该 SUB。请将以下语句剪贴到记事簿,保存为 subdbtable.inc 文件,并置于虚拟目录 asptest 
      下 : <br>
        &lt; %<br>
        sub query2table(inputquery)<br>
        set conntemp=server.createobject(&quot;adodb.connection&quot;)<br>
        conntemp.open &quot;DSN=Student;uid=student;pwd=aspmagic&quot;<br>
        set rstemp=conntemp.execute(inputquery)<br>
        howmanyfields=rstemp.fields.count -1<br>
        ' 统计数据库中的列数 <br>
        %&gt;<br>
        &lt; table border=1&gt;&lt; tr&gt;<br>
        &lt; %<br>
        for i=0 to howmanyfields<br>
        %&gt;<br>
        &lt; td&gt;&lt; b&gt;&lt; %=rstemp(i).name%&gt;&lt; /B&gt;&lt; /TD&gt;<br>
        &lt; % next %&gt;<br>
        &lt; /tr&gt;<br>
        &lt; %<br>
        do while not rstemp.eof<br>
        %&gt;<br>
        &lt; tr&gt;<br>
        &lt; % for i = 0 to howmanyfields<br>
        thisvalue=rstemp(i)<br>
        If isnull(thisvalue) then<br>
        thisvalue=&quot;?<br>
        ' 如果字段为空,则将变量 thisvalue 的值定义为一个空格 <br>
        end if%&gt;<br>
        &lt; td valign=top&gt;&lt; %=thisvalue%&gt;&lt; /td&gt;<br>
        &lt; % next %&gt;<br>
        &lt; /tr&gt;<br>
        &lt; %rstemp.movenext<br>
        loop%&gt;<br>
        &lt; /table&gt;<br>
        &lt; %<br>
        rstemp.close<br>
        set rstemp=nothing<br>
        conntemp.close<br>
        set conntemp=nothingend sub%&gt;<br>
      <br>
         完成了 SUB 的定义过程,在下面几个 ASP 程序中我们只要加入想要使用的 SQL 查询语句,并调用该过程就可以非常方便的得到查询结果。将以下四段代码分别保存为 
      asp11a.asp、asp11b.asp、asp11c.asp、asp11d.asp 四个 .asp 文件。 <br>
      <br>
        &lt; HEAD&gt;&lt; TITLE&gt;asp11a.asp&lt; /TITLE&gt;&lt; /HEAD&gt;<br>
        &lt; HTML&gt;&lt; body bgcolor=&quot;#FFFFFF&quot;&gt;<br>
        &lt; %<br>
        call query2table(&quot;select * from publishers where name like 'A%%'&quot;)<br>
      ' 将表 publishers 中所有姓名中有字母 A 的记录查询出来 <br>
        %&gt;<br>
        &lt; !--#include virtual=&quot;/asptest/subdbtable.inc&quot;--&gt;&lt; 
      /BODY&gt;&lt; /HTML&gt;<br>
      <br>
      <br>
        &lt; HEAD&gt;&lt; TITLE&gt;asp11b.asp&lt; /TITLE&gt;&lt; /HEAD&gt;&lt; 
      HTML&gt;&lt; body bgcolor=&quot;#FFFFFF&quot;&gt;<br>
        &lt; %<br>
        call query2table(&quot;select * from titles where Year_Published &gt; 
      = 1998&quot;)<br>
      ' 将表 titles 中所有发表年份大于或等于 1998 年的记录查询出来 <br>
        %&gt;<br>
        &lt; !--#include virtual=&quot;/asptest/subdbtable.inc&quot;--&gt;&lt; 
      /BODY&gt;&lt; /HTML&gt;<br>
      <br>
      <br>
        &lt; HEAD&gt;&lt; TITLE&gt;asp11c.asp&lt; /TITLE&gt;&lt; /HEAD&gt;&lt; 
      HTML&gt;&lt; body bgcolor=&quot;#FFFFFF&quot;&gt;<br>
        &lt; %<br>
        call query2table(&quot;select * from publishers where amount&gt;10000 
      and sex='male'&quot;)<br>
      ' 将表 publishers 中所有数量大于 10000 且性别为男的记录查询出来 <br>
        %&gt;<br>
        &lt; !--#include virtual=&quot;/asptest/subdbtable.inc&quot;--&gt;&lt; 
      /BODY&gt;&lt; /HTML&gt;<br>
      <br>
      <br>
        &lt; HEAD&gt;&lt; TITLE&gt;asp11d.asp&lt; /TITLE&gt;&lt; /HEAD&gt;&lt; 
      HTML&gt;&lt; body bgcolor=&quot;#FFFFFF&quot;&gt;<br>
        &lt; %<br>
        call query2table(&quot;select * from publishers where state&lt; &gt; 'NY'&quot;)<br>
      '将表 publishers 中所有所在城市不为纽约的记录查询出来。<br>
        %&gt;<br>
        &lt; !--#include virtual=&quot;/asptest/subdbtable.inc&quot;--&gt;&lt; 
      /BODY&gt;&lt; /HTML&gt;<br>
      <br>
         利用 subdbtable.inc 文件中的所定义的过程 query2table,你就可以非常迅速地对数据库进行查询,你所要做的只是将“conntemp.open 
      &quot;DSN=Student;uid=student;pwd=aspmagic&quot;”中的数据库名称、用户身份和密码稍加改动,并在调用 
      query2table 时输入想要使用的 SQL 查询语句即可。是不是很简单 ? 这就是 ASP 和 SQL 的魅力所在 !!! <br>
      <br>
         今天,我们虽然用了一整篇的篇幅只学习了一个 SQL 指令,但请你相信你所获得远不同于一个 DOS 指令,SELECT 指令使得你可以非常容易地对数据库进行查询,或许在这之前你对数据库查询还一无所知,但是通过本篇的学习,你其实已经会使用 
      ASP 进行常用的数据库查询了,是不是很激动 ? 在下一篇中,作者将继续给大家介绍 SQL 的其它几个基本指令。在结束本文之前,作者在这里要向很多来信的朋友致歉,由于最近作者工作繁忙,实在无暇一一回答各位的问题,请见谅,我会尽量将一些常见的、发生频率较高的问题在文章中写出来,至于一些不常见的问题,我建议大家到下面这个站点提问,你将会得到及时的答复。www.onlinechina.net/friend/flybird/bbs/wwwboard.asp?id=1, 
      这是作者至今为止所见的最棒的中文 ASP 学习站点,由上海的飞鸟主持,大家务必去看看。 
      <p align="CENTER"><a href="../homepage.htm"><font face="宋体" lang="ZH-CN">返回主页</font></a> 
        <a href="asp10.htm">上一节</a> <a href="asp12.htm">下一节</a></p>
      <p align="CENTER"><a href="http://www.cpcw.com">电脑报首页</a> <a href="../index.htm">网络学院首页</a></p>
      </td>
  </tr>
</table>
</BODY>
</HTML>

⌨️ 快捷键说明

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