真没想到,我的第一个有关存储过程的程序就通不过,大家帮忙看看,问题究竟在哪?代码相当简单
第一步:1.在SQLServer上的dwdm16的数据库上建立登录存储过程
create procedure LoginUserCheck @UserName varchar(20),@PassWord varchar(20),@
Privilege varchar(20) output
as
select @Privilege=Privilege
from loginuser
where UserName=@UserName and PassWord=@PassWord
第二步 在SQLServer上测试例子:
declare @Privilege varchar(20)
execute LoginUserCheck 'Administrator','ihwwdm',@Privilege output
select @Privilege
以上两步均没有问题
第三步:在窗体上增加一StoredProc,一个Label,一个Button,设定StoredProc1的Database Name为dwdm16,设StoredProcName为LoginUserCheck。再增加Table1,其Database Name为dwdm16,TableName为loginuser,并将Active设为true.
第四步:双击Button,增加下列代码:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
StoredProc1->Close();
StoredProc1->ParamByName("UserName")->AsString="Administrator";
StoredProc1->ParamByName("PassWord")->AsString="ihwwdm";
if(StoredProc1->Prepared==false)
StoredProc1->Prepare();
StoredProc1->ExecProc();
Label1->Caption=StoredProc1->ParamByName("Privilege")->AsString;
}
第五步,RUN
但当击Button时,出现下列提示:
Parameter 'UserName' not found
最后,我想知道这究竟问题出在哪里??我差不多都是按书上来的啊!