with TADOStoredProc.Create(Application) do
begin
Connection := dmPublic.connPublic;
ProcedureName := 'CAR.PKG_SYS_TRANSIT.F_SET_SYS_STAFF'; //设置过程参数类型
Parameters.Clear;
with Parameters.AddParameter do
begin
Name := 'RETURN_VALUE';
DataType := ftString;
Direction := pdReturnValue;
end;
with Parameters.AddParameter do
begin
Name := 'pi_Staff_Id';
DataType := ftString;
Direction := pdInput;
end;
with Parameters.AddParameter do
begin
Name := 'pi_Staff_Name';
DataType := ftString;
Direction := pdInput;
end;
with Parameters.AddParameter do
begin
Name := 'pi_Dept_Id';
DataType := ftString;
Direction := pdInput;
end;
with Parameters.AddParameter do
begin
Name := 'pi_Dept_Name';
DataType := ftString;
Direction := pdInput;
end;
//设置参数值
Parameters.ParamValues['pi_Staff_Id'] := edtStaffId.Text;
Parameters.ParamValues['pi_Staff_Name'] := edtStaffName.Text;
Parameters.ParamValues['pi_Dept_Id'] := cbDepartment.Value;
Parameters.ParamValues['pi_Dept_Name'] := cbDepartment.Text; try
try
ExecProc;
gp_Show_Msg(Parameters.ParamByName('RETURN_VALUE').Value);
except
on E:Exception do
gp_Show_Msg('很抱歉,用户保存失败,请检查数据是否有效或网络是否 畅通' + #13#13 + E.Message);
end;
finally
free;
end;
end;执行提示:不正常地下定义参数对象,提供不一致或不完整的信息!!!检查参数信息与oracle包中的函数中的一样,请问是什么原因!!!
begin
Connection := dmPublic.connPublic;
ProcedureName := 'CAR.PKG_SYS_TRANSIT.F_SET_SYS_STAFF'; //设置过程参数类型
Parameters.Clear;
with Parameters.AddParameter do
begin
Name := 'RETURN_VALUE';
DataType := ftString;
Direction := pdReturnValue;
end;
with Parameters.AddParameter do
begin
Name := 'pi_Staff_Id';
DataType := ftString;
Direction := pdInput;
end;
with Parameters.AddParameter do
begin
Name := 'pi_Staff_Name';
DataType := ftString;
Direction := pdInput;
end;
with Parameters.AddParameter do
begin
Name := 'pi_Dept_Id';
DataType := ftString;
Direction := pdInput;
end;
with Parameters.AddParameter do
begin
Name := 'pi_Dept_Name';
DataType := ftString;
Direction := pdInput;
end;
//设置参数值
Parameters.ParamValues['pi_Staff_Id'] := edtStaffId.Text;
Parameters.ParamValues['pi_Staff_Name'] := edtStaffName.Text;
Parameters.ParamValues['pi_Dept_Id'] := cbDepartment.Value;
Parameters.ParamValues['pi_Dept_Name'] := cbDepartment.Text; try
try
ExecProc;
gp_Show_Msg(Parameters.ParamByName('RETURN_VALUE').Value);
except
on E:Exception do
gp_Show_Msg('很抱歉,用户保存失败,请检查数据是否有效或网络是否 畅通' + #13#13 + E.Message);
end;
finally
free;
end;
end;执行提示:不正常地下定义参数对象,提供不一致或不完整的信息!!!检查参数信息与oracle包中的函数中的一样,请问是什么原因!!!
解决方案 »
- 再问个数据库查询问题
- dephi中怎样把多条dos语句写入记事本中,并把记事本重命名bat格式的,自动保存到c盘,并自动执行bat文件
- 做个Console式界面的组件
- dbcheckbox问题
- fastreport的memo显示问题
- findfirst,findnext,怎么得不到呢,请教
- 我修改一个很久以前的一个程序,打开项目时报以下错误:Error Reading frmxxx.OldCreateOrder:Property dose not exist,哪位大哥知道是什
- 请问用什么方法可以监视程序以外的消息(WINDOWS里所有的消息 比如在任何程序/窗体的WM_KEYDOWN )??
- 该出手时就出手!大侠,你知道如何后台监测打印机吗?
- 急急急~~~ 会用fastreport控件的朋友麻烦进来帮个忙
- 好久没有上CSDN了,发现现在的论坛秀不错呀,为此散分200!
- 一个树,点击得值。。
http://community.csdn.net/Expert/topic/5181/5181888.xml?temp=.2923242
对oracle最好的数据引擎为odac,其次为odbc,然后是bde,(dbexpress for oracle没用过)
检查你的参数,升级mdac,更换ado引擎(Microsoft OLE DB Provider for oracle或Oracle Provier for OLE DB)有条件的话,更换数据库引擎
begin
Name := 'RETURN_VALUE';
DataType := ftString;
Direction := pdReturnValue;
end;
改成:
with Parameters.AddParameter do
begin
Name := 'RETURN_VALUE';
DataType := ftString;
Direction := pdReturnValue;
Size := 200;
end;
就行,,,谢谢楼上的,odac我知道是专门为oracle写的一个控件,现在最新是多少?我下了个5.5的,安装不了,少了一个什么文件!
http://www.delphibox.com/article.asp?articleid=3109