VC中使用ADO调用存储过程实现方法
2008-11-12 19:26:39 来源:WEB开发网开发环境是VS2005,数据库是SQL Sever 2000
1. 在进入正题之前,先讲点别的,如何在VC中连接Sybase数据库,
连接字符窜为,_bstr_t strCnn("Driver={Sybase System 11};Srvr=RRRRR;Uid=RRR_Mao_bb1;Pwd=user2");
这里,RRRRR是数据库的名称,已经在Sybase->sdedit中设定好了
RRR_Mao_bb1 和 user2分别是用户名和密码
不过使用这种基于ODBC的连接使用一段时间以后,就出现问题了,出现了“Catastrophic failure”的错误,微软的解释是 http://support.microsoft.com/kb/243349/en-us
2. 为了使我们的调用存储过程的例子有更多的通用性,我建了有输入参数,有输出参数,有一个返回记录集,有一个返回值的存储过程,如下:
CREATE PROCEDURE sp_1 (
@pin1 int ,
@pin2 CHAR(10),
@pout1 int OUTPUT,
@pout2 CHAR(10) OUTPUT
)
AS
BEGIN
declare @retval int
select @pout1 = @pin1 + 100
select @pout2 = left( ltrim(rtrim(@pin2)) + '123' , 10)
select Num,Name,Date
from TABLE1
select @retval = 1236
return @retval
END
对于这个SP来说,他这些个参数是
@RETURN_VALUE(int ,返回值)
@pin1 ( int ,输入 )
@pin2 ( char(10) ,输入 )
@pout1 (int ,输入/输出)
更多精彩
赞助商链接