六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

Adodb.Command 平時很少注意到的一個參數(shù)

[摘要]我們在 ASP 中調(diào)用 SQL Server 的存儲過程時,如果使用 Adodb.Command 對象,通常使用如下的代碼:dim cmd, rsset cmd = Server.CreateObject("ADODB.Command")cmd.ActiveConnection...

我們在 ASP 中調(diào)用 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

今天我在調(diào)試一個程序的時候發(fā)現(xiàn), ASP 頁面上提示某個參數(shù)沒有賦值, 而實際上我沒賦值的卻是另一個參數(shù)。 于是我打開 Sql Server 的事件探察器, 執(zhí)行了一遍程序, 捕捉到實際上 ASP 發(fā)送給 Sql Server 的 SQL 語句實際上是如下的形式:

execute TestProc 1, 'b', ....

原因現(xiàn)在很明顯了,ADO 引擎沒有把對存儲過程的調(diào)用翻譯為完整的語法, 而是采用了上述簡寫方式, 這樣,當(dāng)中間某個參數(shù)丟失的時候, 就有可能因為錯位而誤判為另一個參數(shù)丟失。
然后我查了一下 Command 對象的屬性, 加了如下一句:

cmd.NamedParameters = true

也就是說指定要使用顯式命名的變量形式, 然后再執(zhí)行一邊程序, 發(fā)現(xiàn)事件探察器中捕捉到的語句變成了:

exec TestProc @a = 1, @b = 'b', ...

報錯的參數(shù)也是正確的。
Everything is OK now




主站蜘蛛池模板: 天美蜜桃精东乌鸦果冻麻豆 | 天天宗合网 | 亚洲精品中文字幕区 | 欧美线在线精品观看视频 | 天堂资源在线官网bt | 天天综合天天干 | 欧美在线看片a免费观看 | 一区二区视频网 | 一级做a爰片欧美aaaa | 在线 色 | 天堂网在线最新版www中文网 | 日日夜夜天天人人 | 自拍三区播 | 五月婷婷六月丁香在线 | 色综合综合网 | 亚洲一区 在线播放 | 四虎影视国产884a精品亚洲 | 天天拍拍夜夜出水 | 日韩一区二区三区四区不卡 | 欧美在线天堂 | 在线看欧美日韩中文字幕 | 亚洲综合色在线 | 日韩三级欧美 | 自拍亚洲欧美 | 午夜国产福利在线观看 | 日本男女动态图 | 最新国产精品 | 天美传媒一区二区三区 | 四虎国产永久在线精品免费观看 | 青春草国产 | 青草成人| 伊人影院2019 | 天天色天天操综合网 | 亚洲伊人久久大香线焦 | 天天久久 | 亚洲国产成人影院播放 | 日韩欧美一区二区三区中文精品 | 亚洲97i蜜桃网 | 在线天堂新版在线观看 | 一级做a爰片久久毛片 | 一级女性全黄久久生活片 |