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

工作 专栏收录该内容
14 篇文章 0 订阅
有存储过程: 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
    点赞
  • 2
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

评论2
请先登录 后发表评论~
©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页

打赏作者

Wind_Sword

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值