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

📄 asp教程:数据库查询语言(1).htm

📁 学习asp的基础教程
💻 HTM
📖 第 1 页 / 共 2 页
字号:
          <TD width="20%">20000</TD>
          <TD width="20%">20000</TD></TR></TBODY></TABLE>
      <P><BR></P>
      <P>   然后,我们再列出所有男性的姓名、销售目标和销售额 : </P>
      <P>   Select 姓名,销售目标,销售额 From sales Where 性别 =" 男 " </P>
      <P>   结果如下 : <BR></P>
      <TABLE cellSpacing=1 cellPadding=0 width="59%" border=1>
        <TBODY>
        <TR>
          <TD width="16%" bgColor=#c0c0c0>姓名</TD>
          <TD width="20%" bgColor=#c0c0c0>销售目标</TD>
          <TD width="20%" bgColor=#c0c0c0>销售额</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%">10000</TD>
          <TD width="20%">9999</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>   接下来,我们做一个相对复杂的查询,列出销售额大于销售目标的所有男性的姓名、销售目标和销售额,并且按销售目标排序。 
      <BR>  Select 姓名,销售目标,销售额 <BR>  Form sales<BR>  Where 销售额 &gt; 销售目标 
      <BR>  And 性别 =" 男 "<BR>  Order By 销售目标 <BR>
      <P>   结果如下 : <BR></P>
      <TABLE cellSpacing=1 cellPadding=0 width="59%" border=1>
        <TBODY>
        <TR>
          <TD width="16%" bgColor=#c0c0c0>姓名</TD>
          <TD width="20%" bgColor=#c0c0c0>销售目标</TD>
          <TD width="20%" bgColor=#c0c0c0>销售额</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("adodb.connection")<BR>  conntemp.open 
      "DSN=Student;uid=student;pwd=aspmagic"<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="?<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="#FFFFFF"&gt;<BR>  &lt; %<BR>  call 
      query2table("select * from publishers where name like 'A%%'")<BR>' 将表 
      publishers 中所有姓名中有字母 A 的记录查询出来 <BR>  %&gt;<BR>  &lt; !--#include 
      virtual="/asptest/subdbtable.inc"--&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="#FFFFFF"&gt;<BR>  &lt; %<BR>  call query2table("select * from 
      titles where Year_Published &gt; = 1998")<BR>' 将表 titles 中所有发表年份大于或等于 1998 
      年的记录查询出来 <BR>  %&gt;<BR>  &lt; !--#include 
      virtual="/asptest/subdbtable.inc"--&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="#FFFFFF"&gt;<BR>  &lt; %<BR>  call query2table("select * from 
      publishers where amount&gt;10000 and sex='male'")<BR>' 将表 publishers 
      中所有数量大于 10000 且性别为男的记录查询出来 <BR>  %&gt;<BR>  &lt; !--#include 
      virtual="/asptest/subdbtable.inc"--&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="#FFFFFF"&gt;<BR>  &lt; %<BR>  call query2table("select * from 
      publishers where state&lt; &gt; 'NY'")<BR>'将表 publishers 
      中所有所在城市不为纽约的记录查询出来。<BR>  %&gt;<BR>  &lt; !--#include 
      virtual="/asptest/subdbtable.inc"--&gt;&lt; /BODY&gt;&lt; 
      /HTML&gt;<BR><BR>   利用 subdbtable.inc 文件中的所定义的过程 
      query2table,你就可以非常迅速地对数据库进行查询,你所要做的只是将“conntemp.open 
      "DSN=Student;uid=student;pwd=aspmagic"”中的数据库名称、用户身份和密码稍加改动,并在调用 
      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="http://chinese.pku.edu.cn/netstudy/aspteach/asp10.htm">上一节</A> <A 
      href="http://chinese.pku.edu.cn/netstudy/aspteach/asp12.htm">下一节</A></P>
      <P align=center><A 
      href="http://chinese.pku.edu.cn/netstudy/aspteach/index.asp">在线教程首页</A></P></TD></TR></TBODY></TABLE></BODY></HTML>

⌨️ 快捷键说明

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