C#中使用参数调用Oracle存储过程问题——一个非常低级的错误

有存储过程: SP_PUB_ID
(New_ID in int)
 as
begin
 null;
end;
前台调用:
        private void button1_Click_1(object sender, EventArgs e)
        {
            string sqlGetCode="SP_PUB_ID";
            OracleConnection oraCon = new OracleConnection( your Connect String );
            OracleCommand oraCmd = new OracleCommand();
            oraCmd.Connection = oraCon;
            oraCmd.CommandType = CommandType.StoredProcedure;
            oraCmd.CommandText = sqlGetCode;
 
           OracleParameter tt = new OracleParameter();
            tt.ParameterName = "NewID";
            tt.OracleType = OracleType.Int32;
            tt.Direction = ParameterDirection.Input;
            tt.Value = 1;
            oraCmd.Parameters.Add(tt);
            try
            {
                oraCon.Open();
                oraCmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            ps.oraCon.Close();
        }
错误提示:
ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'SP_PUB_ID'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored

你能看到问题在哪么? 

 

 

 

 

 

    由于自己很久以前只在VB.Net中对于SqlServer的用过一两次,现在第一次在Oracle中用,很是生疏,而且根据以前的经验,同样的写法可能不适用。错误提示又不明显,总是怀疑是不是程序方法有问题,那天下午又比较昏,我又喜欢自己独立解决,不喜欢轻易问人,调试了半天也没有用,实在没办法问同事,也都没有这样用过,但是没有请他们看程序。后来就上网问,结果一问就有人发现问题了,就是参数名写错了。大骂自己混蛋,白痴!这样低级的错误都没发现,还浪费了大半天的时间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值