贴两段代码。

1>

public int ExecuteNonQuery(string pro, MobileOrder or)
        {
            SqlParameter[] sp = {
            new SqlParameter("@customer",SqlDbType.NVarChar,10),
            new SqlParameter("@IDCardNo",SqlDbType.NVarChar,18),
            new SqlParameter("@SaleID",SqlDbType.Int),
            new SqlParameter("@MobileModelID",SqlDbType.Int),
            new SqlParameter("@Amount",SqlDbType.Int),
            new SqlParameter("@PayFee",SqlDbType.Float)
                               };
            sp[0].Direction = ParameterDirection.Output;
            sp[1].Value = or.IDCardNo;
            sp[2].Value = or.SaleID;
            sp[3].Value = or.MobileModelID;
            sp[4].Value = or.Amount;
            sp[5].Direction = ParameterDirection.Output;

db.ExecuteNonQuery(sql, ref sp);
            return sp[0].value;

}

2>

public int ExecuteNonQuery(string sql, ref SqlParameter[] sp)
        {
            using (SqlConnection conn = new SqlConnection(sqlCon))
            {
                try
                {
                    SqlCommand comm = new SqlCommand();
                    comm.CommandType = CommandType.StoredProcedure;
                    comm.CommandText = sql;
                    comm.Connection = conn;
                    if (sp != null)
                    {
                        comm.Parameters.AddRange(sp);
                    }
                    conn.Open();
                    return comm.ExecuteNonQuery();
                }
                catch (Exception e)
                {
                    return 0;
                }
                finally
                {
                    conn.Close();
                }
            }

}

第一段代码中声明一个sqlparameter的数组,该数组中有两个元素是output类型。第一段代码的最后调用了第二段代码所代表的方法。output的作用就是经过调用后,编译器自动将执行数据库操作后的相应的数值赋给性质为output的元素,因此在第一段代码中调用sp[0]和sp[5],相应的value值发生变化,而sp[1]、sp[2]、sp[3]、sp[4]的数值没有发生变化。

学习笔记。如有错误,欢迎指正。

output和returnvalue的作用的更多相关文章

  1. ParameterDirection中的参数(Input,Output,InputOutput,ReturnValue)

    ParameterDirection中的参数类型定义,首先看ParameterDirection定义 // 摘要: // 指定查询内的有关 System.Data.DataSet 的参数的类型. pu ...

  2. 关于System.Data.ParameterDirection四个枚举类型所起的作用(转)

    相信大家都知道.net中有四个关于参数传入传出的类型 分别是: System.Data.ParameterDirection.Input System.Data.ParameterDirection. ...

  3. event.returnValue和return false的区别

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. return value, output parameter,

    Return Value https://docs.microsoft.com/en-us/sql/t-sql/language-elements/return-transact-sql?view=s ...

  5. Execute SQL Task 参数和变量的映射

    Execute SQL Task能够执行带参数的SQL查询语句或存储过程(SP),通过SSIS的变量(Variable)对参数赋值.对于不同的Connection Manager,在Task中需要使用 ...

  6. Linux-iptables初识

    Linux-iptables初识 了解 iptables是与Linux内核集成的IP信息包过滤系统.如果Linux系统连接到因特网或LAN.服务器或连接LAN和因特网的代理服务器,则该系统有利于在Li ...

  7. 关于IE6中做兼容的那点事。

    前言 对于程序员来说,一听到你做的程序必须兼容IE6(当然主流浏览器肯定得兼容的),那颗滚烫的心瞬间哇凉哇凉的,但是有时,项目就要求这样,你也只能硬着头皮跟IE6来个亲密接触,最近正好做了个项目,关于 ...

  8. MIT jos 6.828 Fall 2014 训练记录(lab 6)

    源代码参见我的github: https://github.com/YaoZengzeng/jos 在这个实验中将实现一个基于Intel 82540M(又称E1000)的网卡驱动.不过,一个网卡驱动还 ...

  9. 第十二篇 Integration Services:高级日志记录

    本篇文章是Integration Services系列的第十二篇,详细内容请参考原文. 简介在前一篇文章我们配置了SSIS内置日志记录,演示了简单和高级日志配置,保存并查看日志配置,生成自定义日志消息 ...

随机推荐

  1. eclipse设置项目编码

    首先Windows->Preferences, 然后选择General下面的Workspace. Text file encoding选择Other GBK, 如果没有GBK的选项, 没关系, ...

  2. 参考__JS

    教程 jQuery选择器总结 日期和时间 Bootstrap日期和时间表单组件 图表 morrisHighcharts 垂直滚动 fsvs 水平滚动 swiper 倒计时 countdownjs 全屏 ...

  3. javascript高级编程3第二章:在html中使用javascript

    2.1 <script>元素 向html页面中插入javascript的主要方法,就是使用<script>元素.这个元素被加入到正式的html规范中.html4.01为< ...

  4. Asp.Net_Mvc_获取当前Url、Controller、Action

    一.URL的获取很简单,ASP.NET通用: [1]获取 完整url (协议名+域名+虚拟目录名+文件名+参数) string url=Request.Url.ToString(); [2]获取 虚拟 ...

  5. 写日志 log 到文件夹

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...

  6. 使用Asp.Net Core Identity给用户添加及删除角色

    基于Asp.Net Core编制一个项目,需要给用户添加及删除角色的功能,于是使用到了Identity中的UserManager. 先后解决了几个问题,终于实现了设想. 1. 环境条件 Asp.Net ...

  7. Eclipse WTP Tomcat hot deploy

    转自: http://ducquoc.wordpress.com/2010/11/06/eclipse-wtp-tomcat-hot-deploy/ One of the reasons why Ja ...

  8. 贪婪 vs 不贪婪

    当重复一个正则表达式时,如用 a*,操作结果是尽可能多地匹配模式.当你试着匹配一对对称的定界符,如 HTML 标志中的尖括号时这个事实经常困扰你.匹配单个 HTML 标志的模式不能正常工作,因为 .* ...

  9. 《精通C#》自定义类型转化-扩展方法-匿名类型-指针类型(11.3-11.6)

    1.类型转化在C#中有很多,常用的是int类型转string等,这些都有微软给我们定义好的,我们需要的时候直接调用就是了,这是值类型中的转化,有时候我们还会需要类类型(包括结构struct)的转化,还 ...

  10. eclipse运行项目发生Unsupported major.minor version 52.0错误

    编程的世界错误多啊 各种乱七八糟的异常数不清啊 嘿嘿呦!!! 今天又碰到莫名奇妙的问题了:eclipse中原来的项目运行的好好的,前几天想学AndroidStudio于是就装了,为了节省硬盘空间节间, ...