宝贝晶晶亮:
你的用法错了.
使用adostoredproc就像使用adoquery一样的.它的参数不用你去创建,在存储过程里面已经定义好了.
使用步骤如下: 设计时设置好您的adostoredproc的connectionstring或者设置好connection属性.然后选择 存储过程(您只需选择就行了,不必到程序中设置.)然后就按照上面讲的方法就行了:
asp.close;
asp.parameters.parambyname('@级别').value:=strtoint(edit1.text);
asp.open;
QRLabel1.Caption := ASP1.parameters.ParamByName('@ZongRenShu').Value;
QRLabel2.Caption := ASP1.parameters.ParamByName('@aCntRen1').Value;
QRLabel3.Caption := ASP1.parameters.ParamByName('@aCntPer1').Value;
==========================================================
就这么简单.
你的用法错了.
使用adostoredproc就像使用adoquery一样的.它的参数不用你去创建,在存储过程里面已经定义好了.
使用步骤如下: 设计时设置好您的adostoredproc的connectionstring或者设置好connection属性.然后选择 存储过程(您只需选择就行了,不必到程序中设置.)然后就按照上面讲的方法就行了:
asp.close;
asp.parameters.parambyname('@级别').value:=strtoint(edit1.text);
asp.open;
QRLabel1.Caption := ASP1.parameters.ParamByName('@ZongRenShu').Value;
QRLabel2.Caption := ASP1.parameters.ParamByName('@aCntRen1').Value;
QRLabel3.Caption := ASP1.parameters.ParamByName('@aCntPer1').Value;
==========================================================
就这么简单.
TADOStoredProc与TStoredProc是有差别的,你现在用的是TADOStoredProc,TStoredProc的属性和方法当然不适用了,自己也不去看看属性!
TAODStoredProc应该这么用,改为下面就可以了
ASP1.parameters.Clear;
ASP1.parameters.CreateParameter('@级别',ftInteger,pdInput,8,StrToInt(Trim(Edit1.Text))); //ftInteger是参数类型,pdInput是参数传递方式,8是参数的长度,可以自己改变,StrToInt(Trim(Edit1.Text))是参数的值
ASP1.parameters.CreateParameter('@ZongRenShu',ftInteger,,pdOutput,8,0);//这里0就是参数值
...
ASP1.parameters.CreateParameter('@aCntPer1',ftFloat,pdOutput,8,0);不要本本主义,给你的只是个例子,自己也不会去发挥
QRLabel2.Caption := ASP1.parameters.ParamByName('@aCntRen1').Value;
QRLabel3.Caption := ASP1.parameters.ParamByName('@aCntPer1').Value;
end;
对TADOStoredProc和TStoredProc都适用
Incompatible types: 'TParameterDirection' and 'TParamType'
-----------
ASP1.parameters.CreateParameter('@aCntRen1',ftInteger,ptOutput,6,0);
create procedure proc大学生3
.....
那么:前台调用
asp.close;
asp.ProcedureName:='proc大学生3';
asp.parameters.parambyname('@级别').value:=strtoint(edit1.text);
asp.open;
QRLabel1.Caption := ASP1.parameters.ParamByName('@ZongRenShu').Value;
QRLabel2.Caption := ASP1.parameters.ParamByName('@aCntRen1').Value;
QRLabel3.Caption := ASP1.parameters.ParamByName('@aCntPer1').Value;
他运行的时候就会出现提示:他需要这些参数'@ZongRenShu'但是没有提供。