VB/ASP 調用 SQL Server 的存儲過程
2024-05-04 11:06:18
供稿:網友
昨天有位久未謀面的老同學,突然問起如何在vb中調用sql的存儲過程。
當時因為手上沒有資料,機器上也沒裝sql,隨即發了早年寫的一段asp代碼,也不知道行不行。
抱著負責任的態度,剛好又有點空閑,便做了個測試:
(說來慚愧,n久沒用vb了,居然不知道怎么加入adodb類型庫了,就填加了一個adodc控件,汗顏~```)
private sub examplebutton_click()
dim sqlconn as new adodb.connection
dim sqlcmd as new adodb.command
dim myparam as adodb.parameter
dim sqlrs as adodb.recordset
dim sqlcmdstr as string
sqlconn.open "driver={sql server};server=127.0.0.1;database=master;uid=sa;pwd=密碼我是不會隨便告訴別人的啦:)"
sqlcmd.activeconnection = sqlconn
sqlcmd.commandtext = "sp_executesql"
sqlcmd.commandtype = adcmdstoredproc
sqlcmdstr = "select * from sysmessages where error>=100 and error<=120"
set myparam = sqlcmd.createparameter("@statement", adbstr, adparaminput, len(sqlcmdstr))
myparam.value = sqlcmdstr
sqlcmd.parameters.append myparam
set sqlrs = sqlcmd.execute
sqlrs.movefirst
while not sqlrs.eof
msgbox sqlrs.fields(0).value & ",,," & sqlrs.fields(3).value
sqlrs.movenext
wend
end sub
哈哈,居然成功了(不禁又自我陶醉了一番)。
雖然沒什么技術含量,不過還是再次申明一下:
其實調用存儲過程最重要的就是參數的正確性,比如參數名稱,參數類型啊等等。
幸好這些都是有資料可以查的,可以查sql手冊,或者如果有耐心一點,也可以通過不斷的嘗試得出正確的答案(哈哈,廢話)。