当前位置: 首页 > 图文教程 > 网络编程 > ASP > 在ASP中使用SQL语句之5:开始执行

ASP
在Vista IIS 7 中用 vs2005 调试 Web 项目的注意事项
ASP保存远程图片到本地 同时取得第一张图片并创建缩略图的代码
ASP运行在IIS6 500错误解决办法
ASP 精华源码收集(五年总结)
ASP分页类(支持多风格变换)
动网论坛验证码改进 加法验证码(ASPJpeg版)
asp 存储过程分页代码
asp select下拉菜单选择图标并实时显示
aspjpeg组件通用加水印函数代码
aspjpeg 添加水印教程及生成缩略图教程
ASP 根据用户权限判断显示的列标题
asp 批量删除选中的多条记录
asp 隐藏并修改文件的最后修改时间
Discuz!NT 论坛整合ASP程序论坛教程
ajax+asp无限级分类树型结构(带数据库)
asp 由动态网页转变为静态网页的实现代码
通过表单的做为二进制文件上传request.totalbytes提取出上传的二级制数据
ASP 使用三层架构 asp中使用类
ASP GetRef 函数指针试探
ASP 三层架构 Error处理类

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 27 ::
收藏到网摘: n/a

在学会了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讨论组的时候你就应该附上这些信息。