oracle查询是否有返回值,Oracle.DataAccess的返回值执行非查询(存储过程)

对于存储过程,它返回-1,而不管sp执行的操作(非常容易测试)

create procedure test1 as

begin

null ; --do nothing

end test1 ;

/

create table testtable(a number);

/

create procedure test2 as

begin

insert into testtable(a) select level from dual connect by level < 5;

end test2 ;

/

create procedure test3 as

begin

update testtable set a = a-1;

end test3;

/

create procedure test4 as

begin

delete testtable;

end test4;

/

static int executeProc(string procName,OracleConnection connection ){

OracleCommand cmd= new OracleCommand(procName,connection);

cmd.CommandType = CommandType.StoredProcedure;

return cmd.ExecuteNonQuery();

}

static void Main(string[] args)

{

Console.WriteLine("what does ExecuteNonQuery return?");

// Connect

string connectStr = getConnection();

OracleConnection connection = new OracleConnection(connectStr);

connection.Open();

try{

Console.WriteLine("test1 =>" + executeProc("test1",connection));

Console.WriteLine("test2 =>" + executeProc("test2",connection));

Console.WriteLine("test3 =>" + executeProc("test3",connection));

Console.WriteLine("test4 =>" + executeProc("test4",connection));

}

catch (Exception e){

Console.WriteLine(e.Message);

}

Console.WriteLine("Done");

}

what does ExecuteNonQuery return?

test1 =>-1

test2 =>-1

test3 =>-1

test4 =>-1

/*

drop table testtable;

drop procedure test1;

drop procedure test2;

drop procedure test3;

drop procedure test4;

*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值