存储过程结构如下:
Create or Replace Procedure xx_yy
(
i_OrderID in number,
i_ReturnValue out number
)
is
v_RealValue number;
v_TotalValue number;
v_AdvendorID number;
begin
自己写就行
end;
下面讲一下调用:
表结构
create table ORDERTABLE
(
ORDERID NUMBER not null,
TEXT NUMBER not null
)
存储过程 
(
i_OrderID in number,
i_ReturnValue out number
)
is
spass ordertable.text%type;
begin
select text into spass from ordertable where orderid=i_OrderID;
i_ReturnValue:=spass;
exception
when no_data_found
then i_ReturnValue:=-1;
end;
源码:
using System.Data .OracleClient ;//(别忘了添加)
OracleConnection Oraclecon = new OracleConnection ("Password=dloco;User ID=dloco;Data Source=dloco;");
OracleCommand myCMD = new OracleCommand();
OracleParameter[] parameters = { new OracleParameter("i_OrderID", OracleType.Number, 10),new OracleParameter("i_ReturnValue",OracleType.Number,10 )};
parameters[0].Value = 1;
parameters[1].Direction = ParameterDirection.Output;
myCMD.Connection = Oraclecon;
myCMD.CommandType = CommandType.StoredProcedure;
myCMD.CommandText = "dloco.xx_yy";
myCMD.Parameters .Add (parameters[0]);
myCMD.Parameters .Add (parameters[1]);
myCMD.Connection.Open(); 
myCMD.ExecuteNonQuery();
string result=myCMD.Parameters["i_ReturnValue"].Value.ToString();
MessageBox.Show (result);
Oraclecon.Close();
OracleParameter[] parameters 
浙公网安备 33010602011771号