帮助:执行oracle 存储过程没有得到值?
private void Button7_Click(object sender, System.EventArgs e)
{
string str="Provider=Microsoft OLE DB Provider for Oracle;User ID=czg;Password=111;Data Source=ecard";
OleDbConnection nwindConn = new OleDbConnection(str);
OleDbCommand sampleCMD = new OleDbCommand("myProcedure", nwindConn);
sampleCMD.CommandType = CommandType.StoredProcedure;
//OleDbParameter sampParm = sampleCMD.Parameters.Add("RETURN_VALUE", OleDbType.Integer);
//sampParm.Direction = ParameterDirection.ReturnValue;
OleDbParameter V_ID = sampleCMD.Parameters.Add("V_ID", OleDbType.VarChar, 12);
//V_ID.Value ="ff";
V_ID.Direction=ParameterDirection.Input;
V_ID.Value="ff";
OleDbParameter sampParm = sampleCMD.Parameters.Add(":Num", OleDbType.Integer);
sampParm.Direction = ParameterDirection.Output;
nwindConn.Open();
sampleCMD.ExecuteNonQuery();
int ReturnNum ;
Response.Write(sampleCMD.Parameters[":Num"].Value);
string ss=Convert.ToString(sampleCMD.Parameters[":Num"].Value);
int i1=Convert.ToInt32(ss);
switch(i1)
{
case 1:
Page.RegisterStartupScript("warnings", "<script>alert('1');</script>");
break;
case 0:
Page.RegisterStartupScript("warnings", "<script>alert('-1!');</script>");
break;
default :Page.RegisterStartupScript("warnings", "<script>alert('-1ww!');</script>");
break;
}
//ReturnNum=sampleCMD.Parameters[":RETURN_VALUE"].Value;
nwindConn.Close();
// Response.Write(sampleCMD.Parameters["@id"].Value);
Response.Write(sampleCMD);
// Response.Write(ReturnNum);
}
create or replace procedure myProcedure
(
Num out number ,
V_ID in picture.ID%Type
)
is
begin
select count(*) into Num from picture where id=V_ID;
end;
表中值:
1 001 <Long Raw> sr AAABJRAAHAAAADkAAA
2 002 <Long Raw> sr AAABJRAAHAAAADkAAB
3 003 <Long Raw> sr AAABJRAAHAAAADkAAC
4 004 <Long Raw> sr AAABJRAAHAAAADkAAD
5 Sample Value <Long Raw> test AAABJRAAHAAAADkAAE
6 ff <Long Raw> test AAABJRAAHAAAADkAAF
7 15 <Long Raw> test AAABJRAAHAAAADkAAG