在ASP中使用SQL语句之5:开始执行

作者:佚名 来源:动网 时间:2007-08-11 12:36:00 

在学会了SELECT语句的构造和用途之后你就该学习如何使用它了。在你所掌握的数据库工具下,这可能意味着你得按下某个写着“执行”字样的按钮。在ASP网页上,可以立即执行SQL语句也可以当作存储过程调用。


一旦创建了SQL 语句,你还得设法访问其查询结果。显然,这里的关键就是ASP recordset。在使用非SQL的recordset时,创建recordset的代码通常如下所示:

Dim objRec
Set objRec = Server.CreateObject ("ADODB.Recordset")
objRec.Open "customers", objConn, 0, 1, 2


如果你对ASP比较熟悉以上的代码对你可就不陌生了,你应该知道“customers”表示你打开数据库内一个数据表的名字。

打开recordset
为了充分利用你更为熟悉的SQL技能,你需要调整常规ASP网页上最常采用的recordset:

Dim objRec
Set objRec = Server.CreateObject ("ADODB.Recordset")
objRec.Open SQL, objConn, 0, 1, 2


这里唯一的修改就是在objRec.Open,之后用包含SQL语句的变量代替了要查询的数据表的名称。

这种方法的优点之一是你可以指定游标类型(如以上0, 1 ,2 所示)。

执行SQL
你可以用紧凑的一行代码执行SQL语句来创建recordset。以下是语法:

Dim objRec
set objRec = objConn.Execute(SQL)


在上例中,你所看到的SQL是你存放自己SQL SELECT 语句的变量。该代码行“运行”SQL语句(或者说对数据库进行查询),选取数据并把数据存放在recordset 内,在上例中就是变量objRec。这种方法的主要缺点是你不能选择自己想采用的游标类型。相反,recordset总是用前向游标打开。

游标

因为游标的缘故,你或许打算熟悉两种创建recordset的方法。直接执行查询节省了键入字符所消耗的时间,但那样的话你就得采用默认的游标了,这样有可能遭遇经常不能正常运行的毛病。不管你具体采用哪种办法,两者之间的最大的差别也不外乎代码精练与否。在不考虑你取得什么字段、你的标准是什么的前提下,也不管你如何存储数据,采用SQL式的recordset 在体积上会比ASP上打开的标准recordset 要小得多,更别提操作起来的简易性了。毕竟,通过过滤数据,你消除了耗费时间的if-then 测试和可能用到的循环。

编写测试用SQL
这里有个技巧,许多专业ASP程序员习惯在测试网页的时候“编写”自己的SQL语句。这样做可以帮助你调试代码,因为你可以从中看到传递给服务器执行的字符串。而你要做的无非是增加Response.WriteyourVariable 在屏幕上显示有关信息。在你把和SQL有关的问题提交给ASP讨论组的时候你就应该附上这些信息。


标签:SQL,查询,执行
0
投稿

猜你喜欢

  • SQL Server中链接服务器将替代远程服务器

    2009-06-15 11:03:00
  • 交互设计实用指南系列(6) –标签明晰、有效

    2010-01-21 12:39:00
  • 在ASP中使用SQL语句之2:用WHERE子句设置查询条件

    2009-04-21 13:03:00
  • 玩转表单之花样表单

    2011-04-25 19:17:00
  • 纯CSS下拉菜单代码

    2008-09-10 12:35:00
  • 关于H1的位置

    2008-04-30 12:20:00
  • MYSQL教程:查询优化之有效加载数据

    2009-02-27 15:45:00
  • asp检测表单输入EMAIL合法性的函数

    2007-10-16 13:39:00
  • div + ajax + 分页函数

    2009-10-18 11:28:00
  • MySQL字符集查看方法

    2010-12-14 15:14:00
  • 从两个方面讲解SQL Server口令的脆弱性

    2009-01-08 13:40:00
  • 动态载入asp树源码

    2007-09-06 19:34:00
  • 三大原因:按照新HTML标准设计网页好处

    2008-11-12 11:23:00
  • XMLHTTP自动判断远程网页字符编码

    2007-12-28 13:41:00
  • asp 延时 页面延迟的三种方法

    2011-03-31 11:04:00
  • 细线表格的处理

    2008-08-06 12:53:00
  • 一个二级伸缩下拉菜单代码

    2008-06-24 18:12:00
  • 如何实现SQL Server 2005快速Web分页

    2009-01-21 14:51:00
  • sqlserver 中时间为空的处理小结

    2011-11-03 17:16:17
  • asp中Adodb.Stream 的使用说明

    2007-09-11 13:53:00
  • asp之家 网络编程 m.aspxhome.com