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
投稿

猜你喜欢

  • Python使用列表和字典实现简单的考试系统详解

    2023-11-07 11:14:53
  • Java正则表达式验证固定电话号码符合性

    2023-02-26 17:12:12
  • pandas通过字典生成dataframe的方法步骤

    2023-04-19 14:52:37
  • Python运用于数据分析的简单教程

    2023-08-14 07:49:13
  • Python实现的人工神经网络算法示例【基于反向传播算法】

    2022-01-09 12:04:13
  • node.js中使用socket.io制作命名空间

    2024-05-03 15:36:33
  • JavaScript实现模仿桌面窗口的方法

    2024-04-19 10:16:56
  • Qt操作SQLite数据库的教程详解

    2024-01-16 14:10:04
  • Python Matplotlib 基于networkx画关系网络图

    2021-04-03 04:49:26
  • node实现mock-plugin中间件的方法

    2024-05-13 10:05:59
  • ASP用户登录模块的设计

    2008-11-21 16:55:00
  • XML十项特点

    2008-04-05 13:49:00
  • keras:model.compile损失函数的用法

    2023-11-23 08:44:21
  • Tensorflow累加的实现案例

    2023-04-15 22:55:50
  • DataFrame.to_excel多次写入不同Sheet的实例

    2022-03-26 01:20:14
  • 从绘画语言的发展,看视觉设计风格

    2008-08-03 17:11:00
  • Python实现动态图解析、合成与倒放

    2022-09-22 12:53:23
  • InnoDB数据库死锁问题处理

    2024-01-19 13:30:59
  • python break和continue用法对比

    2021-11-03 14:36:20
  • python 实现一个简单的线性回归案例

    2023-05-08 23:40:25
  • asp之家 网络编程 m.aspxhome.com