我的存储过程:
create or replace procedure p_User_Group_Add
(
GROUP_NAME_IN in VARCHAR2,
GROUP_PURVIEW_IN in INTEGER,
GROUP_NOTE_IN in VARCHAR2
)
is
v_count int:=0;
begin
select count(*)into v_count from Tb_User_Group where group_name = GROUP_NAME_IN;if v_count = 0 then
insert into tb_user_group
( group_name, group_purview, group_note)
values
( GROUP_NAME_IN, GROUP_PURVIEW_IN, GROUP_NOTE_IN);
commit;
end if;
end;
我的C#代码:
OracleConnection con = new OracleConnection();
con.Open();
OracleCommand cmd = new OracleCommand("p_User_Group_Add", con);
cmd.CommandType = CommandType.StoredProcedure; OracleParameter []para = { new OracleParameter("GROUP_NAME_IN","admin"),
new OracleParameter("GROUP_PURVIEW_IN",1),
new OracleParameter("GROUP_NOTE_IN","test")};
cmd.Parameters.AddRange(para);
int ret = cmd.ExecuteNonQuery(); con.Close();为什么变量 ret 接收到的值总是:1 ??
应该返回0才对啊!因为我的并没有插入数据啊表数据: Group_ID Group_Name group_purview group_note
1 admin 1 admin
create or replace procedure p_User_Group_Add
(
GROUP_NAME_IN in VARCHAR2,
GROUP_PURVIEW_IN in INTEGER,
GROUP_NOTE_IN in VARCHAR2
)
is
v_count int:=0;
begin
select count(*)into v_count from Tb_User_Group where group_name = GROUP_NAME_IN;if v_count = 0 then
insert into tb_user_group
( group_name, group_purview, group_note)
values
( GROUP_NAME_IN, GROUP_PURVIEW_IN, GROUP_NOTE_IN);
commit;
end if;
end;
我的C#代码:
OracleConnection con = new OracleConnection();
con.Open();
OracleCommand cmd = new OracleCommand("p_User_Group_Add", con);
cmd.CommandType = CommandType.StoredProcedure; OracleParameter []para = { new OracleParameter("GROUP_NAME_IN","admin"),
new OracleParameter("GROUP_PURVIEW_IN",1),
new OracleParameter("GROUP_NOTE_IN","test")};
cmd.Parameters.AddRange(para);
int ret = cmd.ExecuteNonQuery(); con.Close();为什么变量 ret 接收到的值总是:1 ??
应该返回0才对啊!因为我的并没有插入数据啊表数据: Group_ID Group_Name group_purview group_note
1 admin 1 admin
解决方案 »
- oracle sum问题 在线急等
- oracle检查插入数据的SQL语句
- 高薪招聘高级oracle开发工程师、ORACLE DBA
- 急救:小弟问个有关于ORACLE中FUNCTION的问题,希望懂的人都进来指点下
- 如何合理分配表空间到裸设备上
- 谁会用sqlplus根据用户名称查询用户表空间的名称?
- 请教:在存储过程中使用动态Sql语句的方法,up有分
- 请教高手:pl/sql developer的sql windows中为什么不能同时运行两条查询语句?
- 这个SQL语句为何出错,该如何改正
- 请问谁知道oracle8.1.6标准版是否支持数据库复制功能
- 请教一个简单的触发器
- Pro*C如何在一个进程中,连接两个数据库啊
不然的话就是你的ExecuteNonQuery方法有问题
declare
v_value int:=0;
begin
select count(*) into v_value from Tb_User_Group where group_name='????';
--v_value 0
v_value:=sql%rowcount
;--v_value 1
end;你自己调试一下吧,
v_value int:=0;
begin
select count(*) into v_value from Tb_User_Group where group_name='????';
--v_value 0
v_value:=sql%rowcount ;
--v_value 1
end; 这里没有插入数据,但v_value确实是1,看来是sql%rowcount 的问题
(
GROUP_NAME_IN in VARCHAR2,
GROUP_PURVIEW_IN in INTEGER,
GROUP_NOTE_IN in VARCHAR2,
AffectRows out Number
)
is
v_count int:=0;
begin
select count(*)into v_count from Tb_User_Group where group_name = GROUP_NAME_IN;if v_count = 0 then
insert into tb_user_group
( group_name, group_purview, group_note)
values
( GROUP_NAME_IN, GROUP_PURVIEW_IN, GROUP_NOTE_IN);
AffectRows:=sql%rowcount;
commit;
else
AffectRows:=0;
end if;
end;