存储过程结构如下: 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();
daab3.1里面就有例子
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();