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.
显然这种方法有错...有哪位大哥能指点一下是哪错了!??????????????????
解决方案 »
- ▲▲▲有没有这样的控件,象Label样式在下面有一条横线,在横线上可以输入东西的控件,有请告诉我是什么控件???▲▲▲
- 请问如何可以copyfile d:\$mft
- 启动窗体(闪屏)上有个动画gif见面,采用show时动画不动,而采用ShowModal可以动但是不能自动关闭窗体了,有什么好办法?
- 现在我还在用DELPHI 5,请问关于这ADO EOF,BOF BUG的ADO补丁1,2哪里可下载了啊
- 对于插入更新问题
- 高分求记录块解决方法
- 请问,用代码建ACCESS数据库时布尔型字段是什么?
- ******初学DELPHI什么书好******
- 4路USB摄像头视频录像系统
- ***********************怎样在局域网中 编程读取共享文件夹的文件?
- 小弟跪求如此小问题!路过大哥请帮忙!
- 寻找一种控件,知道的请告诉我,分不够可以加
@Ad_ID nvarchar(3),
@Ad_Password nvarchar(20),
@value int output --返回值,调用时传递一个变量
AS……
return @value