ASP向SQL语句传递参数方法

来源:CSDN 时间:2008-04-13 06:07:00 

四年前写的一个内容管理系统,应用在公司内部网上,昨天DBA说其中的SQL语句未使用参数化的调用,导致服务器负担加重,资源占用大。并列出了几个占用资源较大的语句,类似如下:

SELECT ART_ID, ART_TITLE, ... FROM USR_NEWS.VIEW_ARTICLE WHERE ART_ISPASSED='Y' and ART_CLASS=4066 ORDER BY ART_PASSTIME DESC

其中where子句中的ART_CLASS的值是先确定后组合好这样整条sql语句,然后通过ado去执行的。因参数值不同,在服务器端会产生不同的sql语句,如果有10万个值,服务器就会为这10万条sql语句创建缓存。DBA说要改为art_class=:V方式(oracle数据库),我用与访问存储过程类似的代码来写,如下:

dim userid
userid=1234
...
Command1.CommandText = "SELECT * from users where userid=:V"
Command1.Parameters.Append Command1.CreateParameter(":v", , ,,userid)
set rs = Command1.Execute

运行时在CreateParameter语句处有以下出错提示:

ADODB.Command (0x800A0BB9)

参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。

晕死,为什么存储过程可以,直接sql语句不行呢?

把省略的参数加上,还是不对。

试了几次,都不行,于是找微软技术支持,几经周转终于解决了。原来通过ADO访问时sql语句中的参数要用“?”不用“:”“@”,以下为微软工程师对此问题的小结:

问题描述:

在ASP中,如果通过VBScript调用ADO操作序列化SQL查询. 您按照.NET的调用方法出现0x800A0BB9错误。

解决办法:

在VB中调用ADO的序列化查询,您可以参考下面两篇文章:

How To Invoke a Parameterized ADO Query Using VBA/C++/Java

http://support.microsoft.com/?id=181734

INFO: Visual Basic Accessing an Oracle Database Using ADO

http://support.microsoft.com/?id=176936

需要注意的是,在VBScript中,很多常量没有定义,比如adInteger, 我们需要用具体的数值代替。

标签:sql,参数,asp
0
投稿

猜你喜欢

  • 浅谈视觉设计的准确性

    2007-09-18 17:59:00
  • 巧用JDBC实现对MySQL的“增删改查”

    2008-12-31 15:12:00
  • 手机验证设计感悟

    2011-01-20 19:55:00
  • JavaScript画圆

    2010-01-22 15:57:00
  • 如何在js中使用FileSystemObject(fso)

    2007-09-23 09:10:00
  • 三大措施设置数据库安全 保障网站安全运营

    2008-11-28 14:41:00
  • [翻译]标记语言和样式手册 Chapter 8 再谈清单

    2008-01-29 13:16:00
  • asp fso删除非空目录的例子

    2008-11-26 20:03:00
  • JavaScript的事件代理比你想的要简单

    2009-04-27 12:40:00
  • ASP中生成文件的两种方式

    2007-08-30 09:49:00
  • SQL Server的BUILTIN\\Administrators用户

    2009-02-04 13:51:00
  • 怎样缩小SQL Server数据库的日志文件

    2009-01-15 13:08:00
  • MySQL 视图,第1349号错误

    2008-05-18 13:04:00
  • border边框在浏览器中的渲染方式

    2010-03-10 10:52:00
  • 不完全HTML在线编辑器收集

    2007-11-08 12:20:00
  • CSS实现HTML元素透明的那些事

    2010-02-01 12:34:00
  • fso怎样判断一个盘上是否有文件

    2007-09-26 12:35:00
  • 用 Schema 约束 XML 数据

    2010-08-24 18:21:00
  • asp利用XMLHTTP无刷新自动更新数据

    2007-08-23 13:16:00
  • 一个奇怪的CSS现象

    2010-02-10 12:28:00
  • asp之家 网络编程 m.aspxhome.com