CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

.net调用oracle存储过程问题(查了CSDN的例子和微软的例子都没解决)

楼主whbdxxx(大兵)2004-09-02 22:33:15 在 .NET技术 / C# 提问

存储过程代码如下并且调试成功:  
  (is_parentnum   IN   VARCHAR2,is_classname   IN   VARCHAR2)  
                            as  
    ls_classnum   varchar2(18);  
    ls_maxclassnum   varchar2(18);  
    li_maxnum       integer;  
  BEGIN    
  select   max(classnum)   into   li_maxnum   from   materialclass   where   parentnum=is_parentnum;  
  if   li_maxnum>0   then  
  /*ls_maxclassnum:=(to_number(ls_maxclassnum)+1);  
  else  
  */  
  ls_maxclassnum:=to_char(li_maxnum+1);  
  else  
   
  ls_maxclassnum:=is_parentnum+'01';  
  end   if;  
  insert   into   materialclass(classnum,classname,parentnum)   values  
  (  
  ls_maxclassnum,  
  is_classname,  
  is_parentnum  
  );  
  commit;  
  dbms_output.put_line('测试成功!');  
  END  
  ;  
   
  .net中调用如下:  
  oracleConnection1.Open();  
  System.Data.OracleClient.OracleCommand   comm   =   new   System.Data.OracleClient.OracleCommand();  
  comm.CommandType   =   System.Data.CommandType.StoredProcedure;  
  comm.Connection   =   oracleConnection1;  
  comm.CommandText   =   "WZGL.SP_MATERIALCLASS_INSERT";  
  System.Data.OracleClient.OracleParameter   a   =   comm.Parameters.Add(new   System.Data.OracleClient.OracleParameter("ONE",System.Data.OracleClient.OracleType.NVarChar));  
  System.Data.OracleClient.OracleParameter   b   =   comm.Parameters.Add(new   System.Data.OracleClient.OracleParameter("TWO",System.Data.OracleClient.OracleType.NVarChar));  
  a.Value   =   "aaaa";  
  b.Value   =   "BBBBB";  
  comm.ExecuteNonQuery();  
   
  错误如下:  
   
  ORA-06550:   第   1   行,   第   7   列:   PLS-00306:   调用   'SP_MATERIALCLASS_INSERT'   时参数个数或类型错误   ORA-06550:   第   1   行,   第   7   列:   PL/SQL:   Statement   ignored    
   
  我都怀疑是不是我的。net环境有为题了,希望各位大侠帮帮忙: 问题点数:100、回复次数:10Top

1 楼whbdxxx(大兵)回复于 2004-09-02 22:34:09 得分 0

up一下先  
  Top

2 楼The123(Shall We Dance? :))回复于 2004-09-02 22:39:14 得分 40

("ONE",System.Data.OracleClient.OracleType.NVarChar));  
  ->("ONE",System.Data.OracleClient.OracleType.VarChar));Top

3 楼The123(Shall We Dance? :))回复于 2004-09-02 22:39:49 得分 0

("TWO",System.Data.OracleClient.OracleType.NVarChar));  
  ->("TWO",System.Data.OracleClient.OracleType.VarChar));  
   
  Top

4 楼zhpsam109(JACKY.昊昊)回复于 2004-09-02 22:47:32 得分 10

同意楼上!Top

5 楼vesky(静心如止水,凌叶落清塘)回复于 2004-09-02 22:50:28 得分 10

upTop

6 楼lxcc()回复于 2004-09-02 22:51:08 得分 30

http://support.microsoft.com/default.aspx?scid=kb;en-us;309361&Product=adonet  
   
  看过吗?Top

7 楼csq0516(阿松)回复于 2004-09-03 02:27:50 得分 5

upTop

8 楼whbdxxx(大兵)回复于 2004-09-03 09:54:59 得分 0

to:The123(在我地盤這   伱就得聽我的)  
      我改了许多数据类型都显示那个错误,还是不行,谁有这个环境,可以帮我调试一下吗?可以写个简单的存储过程,比如传两个参数插入一个信息的存储过程在。net中调用。主要是Parameter这得问题,但是这个和其他的例子都一样啊。  
  to:lxcc(虫子)    
      谢谢你的例子,我看了,它是用的OledbCommand,我们这边希望用的是ORcaleCommand,有这方面的例子吗?  
   
  等待!!!!!!!!!  
  Top

9 楼johnmaster(枫)回复于 2004-09-03 10:15:49 得分 5

up  
  等待高手解决Top

10 楼whbdxxx(大兵)回复于 2004-09-03 10:15:54 得分 0

呵呵,我刚刚搞定了这个问题,是参数设置的问题,Parameter中的参数名必须和存储过程中的参数名相一致,这个我没有发现,希望大家用时不要忘了这一点。节贴。Top

相关问题

  • 在Oracle的存储过程中动态调用存储过程
  • Oracle调用Oracle存储过程?
  • jsp调用Oracle存储过程
  • pb如何调用oracle存储过程
  • 调用Oracle存储过程的问题???
  • vb调用oracle存储过程
  • 如何调用存储过程?请给BCB代码及ORACLE存储过程.
  • 存储过程调用存储过程
  • 关于在PB中动态调用ORACLE的存储过程
  • delphi中如何调用oracle中的存储过程和DBMS包?

关键词

  • .net
  • 存储过程
  • oracleclient
  • maxclassnum
  • parentnum
  • 例子
  • 调用
  • materialclass
  • oracletype
  • classnum

得分解答快速导航

  • 帖主:whbdxxx
  • The123
  • zhpsam109
  • vesky
  • lxcc
  • csq0516
  • johnmaster

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo