SQLServer中返回两个参数的存储过程,在BCB中好象无法使用,不知何故?请看详情

wolf416 2001-09-11 07:41:43
1.建立登录存储过程

说明:
输入:用户名和密码
输出:用户的权限和些用户是否已经登录过
所操作的表为:LoginUser

create procedure LoginUserCheck @UserName varchar(20),@PassWord varchar(20),
@Privilege varchar(20) output,@IsLogin bit output
as
select @Privilege=Privilege ,@IsLogin=IsLogin
from loginuser
where UserName=@UserName and PassWord=@PassWord
这步没有问题,我已证实

2.在BCB中,我在两个编辑框中输入用户名和密码,我想得到用户的权限和这个用户是否已经登录过
void __fastcall TForm1::UserLoginOKClick(TObject *Sender)
{
m_strUserName=EditUserLoginName->Text;
m_strPassword=EditUserLoginPW->Text;
StoredProcLogin->Close();
StoredProcLogin->ParamByName("@UserName")->AsString=m_strUserName;
StoredProcLogin->ParamByName("@PassWord")->AsString=m_strPassword;
if(StoredProcLogin->Prepared==false)
StoredProcLogin->Prepare();

StoredProcLogin->ExecProc();//在此出错,提示:"NULL Program pointer encountered"

LabelPrivilege->Caption=StoredProcLogin->ParamByName("@Privilege")->AsString;
LabelIsLogin->Caption=StoredProcLogin->ParamByName("Result")->AsString;

}

这是什么原因?
但当我用只返回一个参数的存储过程时,则可以通过,是不是不支持两个返回参数?



...全文
91 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
柯本 2001-09-11
  • 打赏
  • 举报
回复
我的的确如此 可能是BUG
wolf416 2001-09-11
  • 打赏
  • 举报
回复
难道我的参数赋值方式有问题?不会吧,我在用只返回一个参数的存储过程时,都可以通过的
柯本 2001-09-11
  • 打赏
  • 举报
回复
我也碰到过,只是改了一下参数的赋值方式及在参数的输入/输出
类型中改了一下就好了!

13,870

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧