asp執行sql語句、儲存過程的幾種方法
阿新 • • 發佈:2018-12-03
使用connection物件
會返回一個關閉的recordset記錄集,此記錄集不要再次宣告關閉
建議在update、insert、delete時使用
strCon="provider=sqloledb;data source=servername;initial catalog=databasename;uid=username;pwd=password"
set conn=server.CreateObject("adodb.connection")
conn.open strCon
conn.begintrans '事務開始
conn.execute(sql),num 'num表示update、insert、delete影響的行數
conn.committrans '事務提交
conn.rollbacktrans '事務回滾
set rs=conn.execute("sp_XXXX",引數1,引數2) '執行儲存過程sp_XXXX,是否返回記錄集可選
conn.close
set conn=nothing
使用recordset物件
返回一個recordset記錄集,建議查詢時使用
set rs=server.CreateObject("adodb.recordset")
rs.open sql,strCon,1,1
do while not rs.eof '迴圈讀取記錄集
xx=rs("filename" ) '讀取記錄集中filename欄位
rs.movenext
loop
rs.close
set rs=nothing
使用command物件
建議儲存過程使用
建立儲存過程的引數物件命令,引數數量根據不同型別而有所變化:
Set parameter = command.CreateParameter (Name, Type, Direction, Size, Value)
Name-引數名,Type-引數資料型別,Direction-引數型別,Size-長度(可選),Value-引數值(可選)
set conn=server.CreateObject("adodb.connection" )
set cmd=server.CreateObject("adodb.command")
conn.open strCon
set cmd.ActiveConnection=conn
cmd.CommandText="sp_XXXX" '儲存過程名
cmd.CommandType=4 '命令型別:1-普通命令,2-表名,4-儲存過程
'輸入引數:引數名、引數資料型別、引數型別(輸入引數)
cmd.Parameters.Append cmd.CreateParameter("@aaa",adInteger,adParamInput)
cmd(“@aaa”)=100 '給輸入引數賦值
'輸出引數:引數名、引數資料型別、引數型別(輸出引數)
cmd.Parameters.Append cmd.CreateParameter("@bbb",adInteger,adParamOutput)
'返回值:只能整數
cmd.Parameters.Append cmd.CreateParameter("@return_value",adInteger,adParamReturnValue )
cmd.Execute() '執行儲存過程
bbb=cmd(“@bbb”) '獲取輸出值
rrr=cmd(“@return_value”) '獲取返回值
指明引數型別時可使用型別名或者序號
Type-引數資料型別
型別 | 序號 | 說明 |
---|---|---|
adDBTimeStamp | 135 | 日期時間資料型別 |
adDecimal | 14 | 十進位制整數值 |
adDouble | 5 | 雙精度小數值 |
adError | 10 | 系統錯誤資訊 |
AdGUID | 72 | 全域性唯一識別字(Globally unique identifier) |
adDispath | 9 | COM/OLE自動物件(Automation Object) |
adInteger | 3 | 4位元組有符號整數 |
adIUnknown | 13 | COM/OLE物件 |
adLongVarBinary | 205 | 大型2位元組值 |
adLongVarChar | 201 | 大型字串值 |
adLongVarWChar | 203 | 大型未編碼字串 |
adNumeric | 131 | 十進位制整數值 |
adSingle | 4 | 單精度浮點小數 |
adSmallInt | 2 | 2位元組有符號整數 |
adTinyInt | 16 | 1位元組有符號整數 |
adUnsignedBigInt | 21 | 8位元組無符號整數 |
adUnsignedInt | 19 | 4位元組無符號整數 |
adUnsignedSmallInt | 18 | 2位元組無符號整數 |
adUnsignedTinyInt | 17 | 1位元組無符號整數 |
adUserDefined | 132 | 使用者自定義資料型別 |
adVariant | 12 | OLE物件 |
adVarBinary | 204 | 雙位元組字元變數值 |
adVarChar | 200 | 字元變數值 |
advarchar | 202 | 未編碼字串變數值 |
adWchar | 130 | 未編碼字串 |
Direction-引數型別
型別 | 序號 | 說明 |
---|---|---|
adParamInput | 1 | 允許資料輸入至該引數當中 |
adParamOutput | 2 | 允許資料輸出至該引數當中 |
adParamInputOutput | 3 | 允許資料輸入、輸出至該引數當中 |
adparamReturnValue | 4 | 允許從一子程式中返回資料至該引數當中 |
儲存過程部分參考:
ASP呼叫儲存過程訪問SQL Server
Asp呼叫儲存過程,command.CreateParameter 引數值的型別說明