SQL code的参数名和调用执行的参数名不一致
 @orderid int,@productid int ,@price money 
"@OrdeID", SqlDbType.Int);          ("@ProductID", SqlDbType.Int);             ("@Quantity", SqlDbType.Money)

解决方案 »

  1.   

    SqlCommand cmd = conn.CreateCommand()
      

  2.   

    第三个参数名称要与存储过程里面的相同啊 也就是@Quantity 应该是@price
      

  3.   


    catch
                {
                    MessageBox.Show("操作失败!");
                }这里将异常信息抛出来看看嘛,一看就知了
      

  4.   

    怎么弄  catch(Exception e)
                {
                    MessageBox.Show(e.ToString());
                }??不会弄呀。。
      

  5.   

    把错误的消息e.Message给贴出来,不然人也看不出人怎么会事
    catch(SqlException ex)
                {
                    Console.WriteLine(ex.Message);
                              } 
      

  6.   

    @OrdeID   @ProductID  @Quantity 改成
    orderid ,@productid ,@price
      

  7.   

    去掉存
    有这个提示去掉存储过程里的commit.事务没开启,是不能调用提交的
      

  8.   

    盲目套用呀,你在存储过程里都没有begin trasaction,你后面用啥commit呢,这些一般是成对出现的。将多余的commit去掉即可。
      

  9.   

    你都在使用 commit 为什么没有 begin transaction,如果没成功为什么你不考虑写个 rollback呢?
      

  10.   


    有这个提示去掉存储过程里的commit.事务没开启,是不能调用提交的