ADOStoredProc1.Active :=false; ADOStoredProc1.ProcedureName := insert_New;1';
ADOStoredProc1.Parameters.Refresh ;
ADOStoredProc1.Parameters.ParamValues ['@nchType']:= 0 ;
ADOStoredProc1.Parameters.ParamValues ['@mode']:=0 ;
ADOStoredProc1.Parameters.ParamValues ['@atypeid']:= '0000100001';
ADOStoredProc1.Parameters.ParamValues ['@ptypeid']:= ptypeid; ADOStoredProc1.Parameters.ParamValues ['@dQty']:= StrToFloat(Edit3.text);
ADOStoredProc1.Parameters.ParamValues ['@dTotal']:= StrToFloat(Edit1.text);
ADOStoredProc1.ExecProc ;我是这么写的如何将存储过程中的Error3:
return -3Error42:
return -42Success:
return 0
return的返回值读出来呢???
比如我插入成功了则返回0不成功为-42,-3等
ADOStoredProc1.Parameters.Refresh ;
ADOStoredProc1.Parameters.ParamValues ['@nchType']:= 0 ;
ADOStoredProc1.Parameters.ParamValues ['@mode']:=0 ;
ADOStoredProc1.Parameters.ParamValues ['@atypeid']:= '0000100001';
ADOStoredProc1.Parameters.ParamValues ['@ptypeid']:= ptypeid; ADOStoredProc1.Parameters.ParamValues ['@dQty']:= StrToFloat(Edit3.text);
ADOStoredProc1.Parameters.ParamValues ['@dTotal']:= StrToFloat(Edit1.text);
ADOStoredProc1.ExecProc ;我是这么写的如何将存储过程中的Error3:
return -3Error42:
return -42Success:
return 0
return的返回值读出来呢???
比如我插入成功了则返回0不成功为-42,-3等
解决方案 »
- 散分,谁推荐一些电影看下,要中国话的!
- 求一个Enlib 3.0组件包
- 动态数组为类的时候的元素删除
- 关于DBLookupCombobox的一些问题,顺便散分
- 我才刚开始学数据库.请问那里有教程吗?
- 关于自动取得计算机端口号
- 是否难题?如何在运行时创建DLL文件?
- 这个vc声明怎么改成Delphi的?hresult sticreateinstance(hinstance hinst, dword dwver, psti *ppsti, lpunknown punkouter)
- 哪里有讲Object Pascal的书下载?
- 求急,小弟想从服务器上往本地磁盘拷贝文件和文件夹怎么做啊?可以更新覆盖本地同名文件和文件夹
- 请教ADO+Access 查询日期时间类型字段及显示的问题, 急!!!
- 用tsocketconnection连接,如何把它集成到服务端?
。
。
ExecProc;
iValue := Parameters.ParamValues['RETURN_VALUE'];
iValue; with ADOStoredProc1 do
begin
..........
Parameters.CreateParameter('RETURN_VALUE', ftInteger, pdReturnValue, 4, iValue);
。
。
ExecProc;
iValue := Parameters.ParamValues['RETURN_VALUE'];
在ADOStoredProc1的属性面板的procedurename直接指定存储过程名
然后
with ADOStoredProc1 do
begin
close;
parameters.parambyname('@r').value:=值;
execproc;
if parameters[0].value <> 0 then showmessage('error') //存储过程里写return 0表示存储过程成功
end;
第二种
动态创建参数
sp_temp := TADOStoredProc.Create(Application);
sp_temp.Connection := Fadoconnection;
sp_temp.ProcedureName := 'sp_return_lbdm;1';
with sp_temp do
try
Parameters.Clear;
Parameters.CreateParameter('@lb_top',ftstring, pdinput,12,'a');//指定输入值,'a'参数值
Parameters.CreateParameter('@lb_type',ftInteger, pdinput,12,1001);1001参数值
Parameters.CreateParameter('@lb_level',ftInteger, pdinput,12,1);
Parameters.CreateParameter('@lb_returndm',ftstring, pdoutput,12, '');这里输出参数
ExecProc;
result := Parameters.parambyname('@lb_returndm').value;//访问存储过程的输出参数
finally
end;
在ADOStoredProc1的属性面板的procedurename直接指定存储过程名
然后
with ADOStoredProc1 do
begin
close;
parameters.parambyname('@r').value:=值;
execproc;
if parameters[0].value <> 0 then showmessage('error') //存储过程里写return 0表示存储过程成功
showmeesage( parameters.parambyname('@param_out').value);//@param_out对应存储过程里的输出参数param_out out
end;
为过程或者函数指定的参数太多的错误呢??