手把手教你在ASP中使用SQL语句

2016-01-29 19:19 8 1 收藏

手把手教你在ASP中使用SQL语句,手把手教你在ASP中使用SQL语句

【 tulaoshi.com - ASP 】

 

五花八门的SQL产品多得要命,或许你早顾不得其它甩开袖子就动手干了。但你要同时采用ASP和SQL的话就可能会头晕。MySQL、SQL Server和mSQL都是绝佳的SQL工具,可惜,在ASP的环境下你却用不着它们来创建实用的SQL语句。不过,你可以利用自己掌握的Access知识以及相应的Access技能,再加上我们的提示和技巧,相信一定能成功地在你的ASP网页中加入SQL。


1. SELECT 语句

在SQL的世界里,最最基础的操作就是SELECT 语句了。在数据库工具下直接采用SQL的时候很多人都会熟悉下面的操作:
SELECT what
FROM whichTable
WHERE criteria

执行以上语句就会创建一个存放其结果的查询。

而在ASP页面文件上,你也可以采用以上的一般语法,不过情况稍微不同,ASP编程的时候,SELECT 语句的内容要作为字符串赋给一个变量:
SQL = "SELECT what FROM whichTable WHERE criteria"

好了,明白了ASP下SQL“说话”的方式,接下来如法炮制即可,只要满足你的需要,传统的SQL查询模式和条件查询都能派用场。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/asp/)

举例说明,不妨假设你的数据库内有个数据表,名字是Products ,现在你想取出这个表里的全部记录。然后你就编写了下面的代码:
SQL ="SELECT * FROM Products"

以上代码——SQL语句的作用就是取出表内的全部数据——执行后将会选出数据表内的全部记录。不过,要是只想从表内取出某个特定列,比如p_name。那就不能用 * 通配符了,这里得键入具体某列的名字,代码如下:
SQL ="SELECT p_name FROM Products"

执行以上查询之后Products 表内、p_name 列的内容就会全被选取出来。


2. 用WHERE子句设置查询条件

有的时候取出全部数据库记录也许正好满足你的要求,不过,在大多数情况下我们通常只需得到部分记录。这样一来该如何设计查询呢?当然会更费点脑筋了,何况本文也存心不想让你去用那个什么劳什子的recordset。

举个例子,假如你只打算取出p_name 记录,而且这些记录的名字必须以字母w打头,那么你就要用到下面的WHERE 子句了:
SQL ="SELECT p_name FROM Products WHERE p_name LIKE 'W%'"

WHERE 关键词的后面跟着用来过滤数据的条件,有了这些条件的帮助,只有满足一定标准的数据才会被查询出来。在以上的例子里,查询的结果只会得到名字以w 打头的p_name 记录。

以上例子中,百分比符号(%)的含义是指示查询返回所有w 字母打头而且后面是任何数据甚至没有数据的记录条目。所以,在执行以上查询的时候, west 和 willow 就会从Products 表内被选取出来并存放在查询里。

就像你看到的那样,只要仔细地设计SELECT 语句,你就可以限制recordset 中返回的信息量,多琢磨琢磨总能满足你的要求。

这些啊还不过是掌握SQL用途刚起步。为了帮助你逐步掌握复杂的SELECT 语句用法,下面就让我们再来看一下关键的标准术语:比较运算符,这些玩意都是你在构筑自己的SELECT 字符串来获得特定数据时要经常用到的。

WHERE子句基础
在开始创建WHERE 子句的时候,最简单的方式是采用标准的比较符号,它们是 < 、 <= 、 、 = 、< 和 =。显然,你很快就能明白以下代码的含义和具体运行结果:
SELECT * FROM Products WHERE p_price = 199.95
SELECT * FROM Products WHERE p_price < 19.95
SELECT * FROM Products WHERE p_version = '4'

注意: 这里你会注意到,最后一个例句中的数字4周围加了单引号。原因是这样的,在这个例子中的 '4' 是文本类型而非数字类型。因为你会把 SELECT 语句放到引号中来把它作为一个值赋给变量,所以你也可以在语句中采用引号。

比较运算符
比较运算符指定从表内取出数据的内容范围。你可以用它们来创建过滤器以便缩小recordset的范围,促使其只保存给定任务下你关心的信息。

3. LIKE 、 NOT LIKE和 BETWEEN


你已经在上面取出w打头记录的例子中看到了LIKE的用法。LIKE判定词是一个非常有用的符号。不过,在很多情况下用了它可能会带给你太多的数据,所以在用到它之前最好先开动脑筋多想想自己到底想获得什么数据。假设你想取出5位数字的SKU号码,而且其开头是1结尾是5,那么你可以用下划符(_)代替%符号:
SQL = "SELECT * FROM Products WHERE p_sku LIKE '1___5'"

下划符表示任意一个字符。所以在输入“1 _ _ _ 5”的情况下,你的搜索就会限制在满足特定模式的5位数范围内了。

假如你想反其道而行之,要找出所有不匹配“1_ _ _ 5”模式的SKU条目。那么你只需要在刚才语句例子中的LIKE前面加上NOT就可以了。

BETWEEN
假设你想取出一定范围内的数据,而且你事先知道范围的起点和终点,那么你不妨采用BETWEEN 判断词。现在就让我们假设你想选取给定表内范围在 1和 10之间的记录。你可以如下使用BETWEEN:
…WHERE ID BETWEEN 1 AND 10

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/asp/)

或者你也可以采用已经熟悉的数学判断字句:
…WHERE ID = 1 AND ID = 10


4. 联合语句

来源:http://www.tulaoshi.com/n/20160129/1509068.html

延伸阅读
标签: ASP
  5、 双击JavaASP.java,会出现一个代码框,把下面的代码输入代码框,并保存。 import com.ms.iis.asp.*; import com.ms.mtx.*; 这两句应当出现在程序的最前面,它们是导入命令,导入我们在工程中需要用到的某些Java类的包,我下面给出完整的程序 /** * This class is designed to be packaged with a COM DLL output for...
标签: ASP
  四、使用VB创建组件 现在让我们开始用Visual Basic 6.0(当然使用VB5.0也是可以的 )创建一个新的ActiveX DLL项目(如图) 然后,把项目名改为CD,把类模块名改为CD_Handle,见下图   
标签: ASP
  (2)DeleteCdInformation.asp程序 点击每条信息后的删除键就会从表中把该条信息删除,它也调用了我们刚刚注册的组件。限于篇幅,我只把最重要的几行代码写出: 〈% Dim CD_Info Set CD_Info =Server.CreateObject(“CD.CD_Handle”) CD_Info.Delete Request.QueryString(“ID”) %〉 (3)AddCDInformation.html 本程序...
标签: ASP
  6、 好程序写完了,现在点开工具栏的Project,点击WayneStudio Properties (在最底下)。选择COM Classes,,在Automatically generate Type Library中选中JavaASP'类,并且点击'OK',如下图。   
标签: ASP
  五、ASP程序的编写 (1) ListCdInformation.asp 程序 这个程序实现的是检索数据库,把检索的结果显示为一张表,使用了刚才我们定义的组件。它打开表,然后列举每一张CD的信息。 〈% Dim Cd_Info Set Cd_Info= Server.CreateObject("CD.CD_Handle") %〉 〈HTML〉 〈HEAD〉 〈META http-equiv="Content-Ty...

经验教程

345

收藏

43
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部