首页 >> 读书频道 >> 电脑 >> Adodb.Command 平时很少注意到的一个参数
 
· 将ASP的Debug变得
· ASP调用ORACLE存
· 关于Adodb.Stre
· 分栏显示记录集的表格演示
· ASP程序中同一个用户不
· Windows 2003
· 使用ASP与JAVASC
· ASP登陆验证页应做的安
· 自己写的一个简单ASP调
· 查看服务器Applica
· 在ASP中,用JScri
· ASP安全检测与过滤函数
 
· 美容养颜手册
· 加油金顺剧情分集介绍完整
· 红楼梦:120回全本[清
· 素质教育在美国
· 全唐诗卷四十六
· 韩剧《布拉格恋人》剧情介
· 夜航船[作者:明·张岱]
· 局外人[作者:韩·可爱淘
· 现场流行病学
· 源氏物语[日本:紫式部]
· 武林寓言故事
· 2006高考录取规则
 
· (出租)中动商场部分及写
· (出租)中动动漫基地&#
· 喜剧学院
· 《善德女王》剧情介绍
· 魔女18号 剧情
· 丑女无敌剧情介绍
· 魔女幼熙剧情介绍
· 龙游天下剧情介绍
· 震撼世界的七日剧情介绍
· 静静的白桦林剧情介绍
· 心情日记—老公今天我想对
· 旗舰剧情介绍
欢迎来到月影社区!如果您觉得这里不错,请推荐给您的朋友们。月影社区:http://wf66.com/

Adodb.Command 平时很少注意到的一个参数


查看有无更新版本

关键字:ASP技巧 2006-9-9

 

我们在 ASP 中调用 SQL Server 的存储过程时,如果使用 Adodb.Command 对象,通常使用如下的代码:
dim cmd, rs
set cmd = Server.CreateObject("ADODB.Command")
cmd.ActiveConnection = conn
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "TestProc"
cmd.Parameters.Append cmd.CreateParameter("@a" , adInteger, adParamInput, 4, 1)
cmd.Parameters.Append cmd.CreateParameter("@b" , adVarChar, adParamInput, 50, 'b')
...
set rs = cmd.Execute
今天我在调试一个程序的时候发现, ASP 页面上提示某个参数没有赋值, 而实际上我没赋值的却是另一个参数。 于是我打开 Sql Server 的事件探察器, 执行了一遍程序, 捕捉到实际上 ASP 发送给 Sql Server 的 SQL 语句实际上是如下的形式:
execute TestProc 1, 'b', ....
原因现在很明显了,ADO 引擎没有把对存储过程的调用翻译为完整的语法, 而是采用了上述简写方式, 这样,当中间某个参数丢失的时候, 就有可能因为错位而误判为另一个参数丢失。
然后我查了一下 Command 对象的属性, 加了如下一句:
cmd.NamedParameters = true
也就是说指定要使用显式命名的变量形式, 然后再执行一边程序, 发现事件探察器中捕捉到的语句变成了:
exec TestProc @a = 1, @b = 'b', ...
报错的参数也是正确的。
Everything is OK now

Adodb.Command 平时很少注意到的一个参数

[ 1 ]
Adodb.Command 平时很少注意到的一个参数 num

打印本页 关闭

关于我们版权声明本站导航友情连结作品演示 TOP↑