有關(guān)于ADO調(diào)用存儲過程全講析
也許大家對于ADO調(diào)用存儲過程一直是一個困擾大家的問題。其實,關(guān)于ADO調(diào)用存儲過程的方法在很多書中都有講到,標準的做法無非是按照以下步驟進行:那么就進行仔細學習。
1、生成并初始化一個_CommandPtr對象;
2、生成調(diào)用存儲過程需要的參數(shù),這些參數(shù)都是_ParameterPtr對象;
3、按照順序?qū)⑹褂胈CommandPtr的Append方法為存儲過程提供參數(shù)(包括輸入?yún)?shù)
和輸出參數(shù));
4、為_CommandPtr對象指定需要使用的ADO連接;
5、使用_CommandPtr的Execute方法調(diào)用存儲過程;
6、從結(jié)果中獲取返回參數(shù)的值(如果有的話)。具體的過程在此我不詳細描述,我想看看本文附帶的代碼就應(yīng)該很明白了。
在這里我想就我使用ADO調(diào)用存儲過程時的一些體會說明一下。
1、關(guān)于CreateParameter函數(shù)該函數(shù)的原型為:CreateParameter (Name, Type, Direction, Size, Value)其中Name是參數(shù)的名稱,可以指定也可以不指定;Type是一個DataTypeEnum值,指定參數(shù)的類別,取值有adInteger(整型)、adChar(字符/字符串型)等;#t#
Direction是一個ParameterDirectionEnum值,其取值為adParamInput、adParamOutput、adParamOutput、adParamReturnValue、adParamUnknown;Size是一個Long類型的值,指示該參數(shù)值以字節(jié)計算的最大長度,例如對int型,該值可以取為sizeof(int)。
對Long型,該值可以取為sizeof(long),對字符串型,可以使用該字符串的長度;Value是一個variant類型的值,是該參數(shù)的取值。ADO調(diào)用存儲過程在這里需要注意的是,Type參數(shù)、Direction參數(shù)以及Size參數(shù)一定要和存儲過程定義時的參數(shù)相吻合。
例如,如果有下面一個ADO調(diào)用存儲過程:
- CREATE PROCEDURE SMS_Proc_Handle_All
- @UserID Integer,
- @SourAddr Varchar(15),
- @DestAddr varchar(5000),
- @AvValue Single output,
- @ReturnInfo varchar(100) output