ADOQUERY调用SQL SERVER 里的存储过程的时,,,存储过程的返回值,程序要怎么去捕捉它.!?
我的存储过程如下:
/*
功能描述:判断给定的@Ad_ID nvarchar(3),@Ad_Password nvarchar(20)是否为合法用户.
参数表:@Ad_ID nvarchar(3),@Ad_Password nvarchar(20)
返回值:若用户名或密码为空返回-1,为合法用户返回1,否则返回0。*/
CREATE PROCEDURE sp_ADM_Login
@Ad_ID nvarchar(3),
@Ad_Password nvarchar(20)
AS
if @Ad_ID='' or @Ad_Password=''
return -1
select * from admin where Ad_id=@ad_id and Ad_Password=@Ad_Password
if @@rowcount<>0
return 1
else
return 0
GO
with M_DataModule.ADOQuery do
begin
Close;
Sql.Clear;
Sql.Add('Exec sp_Adm_Login "'+User_ComboBox.Text+'","'+Pass_Edit.Text+'"');
Parameters.CreateParameter('@Retrun_Value',ftinteger,pdReturnValue,0,0);
ExecSql;
Showmessage(inttostr(Parameters.ParamByName('@Retrun_Value').Value));
end;
可是这样取到的返回值每次都是0.
显然这种方法有错...有哪位大哥能指点一下是哪错了!??????????????????
我的存储过程如下:
/*
功能描述:判断给定的@Ad_ID nvarchar(3),@Ad_Password nvarchar(20)是否为合法用户.
参数表:@Ad_ID nvarchar(3),@Ad_Password nvarchar(20)
返回值:若用户名或密码为空返回-1,为合法用户返回1,否则返回0。*/
CREATE PROCEDURE sp_ADM_Login
@Ad_ID nvarchar(3),
@Ad_Password nvarchar(20)
AS
if @Ad_ID='' or @Ad_Password=''
return -1
select * from admin where Ad_id=@ad_id and Ad_Password=@Ad_Password
if @@rowcount<>0
return 1
else
return 0
GO
with M_DataModule.ADOQuery do
begin
Close;
Sql.Clear;
Sql.Add('Exec sp_Adm_Login "'+User_ComboBox.Text+'","'+Pass_Edit.Text+'"');
Parameters.CreateParameter('@Retrun_Value',ftinteger,pdReturnValue,0,0);
ExecSql;
Showmessage(inttostr(Parameters.ParamByName('@Retrun_Value').Value));
end;
可是这样取到的返回值每次都是0.
显然这种方法有错...有哪位大哥能指点一下是哪错了!??????????????????
解决方案 »
- 安装好delphi xe2后在新建ActiveX中看不到ActiveX From等
- cxGrid分组前加号是什么事件里的。
- 关于ntp模拟服务器问题?
- 发现D2005的一个BUG
- Delphi调用Tuxedo问题,用fget32函数取blob数据存放在pchar类型变量里,blob数据中零终止符后的字符串被自动截断
- 我想在我对DBgrid进行修改之后,dbgrid里面的数据能自动刷新显示我修改后的数据,请问该怎么做呢?
- 高手救命
- 怎样用delphi作出office中的office助手和瑞星中的小狮子???
- 程序不能退出!太奇怪了!
- 8Bit位图如何转换为8bit的JPEG
- 求代码或帮我改改!
- 多线程文件传输问题
比如:with adoprocedure do
begin
Parameters.ParamByName('@...').Value := ..
Parameters.ParamByName('@...').Value := ..
Execproc; //or open;
end;
能否告知一下用ADOQuery如何得到存储过程的Return值.