贴两段代码。

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. leveldb 学习。

    1)大概浏览了leveldb文档的介绍.本想逐步看代码,想想还是自己先实现一个看看如何改进. 2)完成了一个非常丑陋的初版,但是还是比初初版有进步. 3)key value的数据库,不允许有key重复 ...

  2. Android开源测试框架学习

    近期因工作需要,分析了一些Android的测试框架,在这也分享下整理完的资料. Android测试大致分三大块: 代码层测试 用户操作模拟,功能测试 安装部署及稳定性测试 代码层测试 对于一般java ...

  3. 菜鸟学自动化测试(一)---- selenium IDE

    http://www.cnblogs.com/fnng/archive/2011/10/23/2222157.html

  4. Dubai Princess and Prince!

    萨拉玛公主,生于1999年 哈曼丹王子 玛丽亚姆公主,出生于1991年

  5. 如何在本地电脑安装phpmyadmin及访问地址

    因为要安装wordpress,上网查了下安装wordpress前要安装phpmyadmin,前提是要在自己本地电脑上安装APMSeverx虚拟主机才可以,在本地访问phpmyadmin页面.下面的步骤 ...

  6. 十天精通CSS3学习笔记 part2

    第6章 征服CSS3选择器(上) 属性选择器 在HTML中,通过各种各样的属性可以给元素增加很多附加的信息.例如,通过id属性可以将不同div元素进行区分. 在CSS2中引入了一些属性选择器,而CSS ...

  7. C#设置通过代理访问ftp服务器

    // 创建FTP连接 private FtpWebRequest CreateFtpWebRequest(string uri, string requestMethod) { FtpWebReque ...

  8. MySQL exists的用法介绍

    有一个查询如下: 1 SELECT c.CustomerId, CompanyName   2 FROM Customers c   3 WHERE EXISTS(   4     SELECT Or ...

  9. 51nod 1113 矩阵快速幂

    题目链接:51nod 1113 矩阵快速幂 模板题,学习下. #include<cstdio> #include<cmath> #include<cstring> ...

  10. 20169212《Linux内核原理与分析》第八周作业

    理论 task_struct的结构关系 非常庞大的数据结构,400多行代码.包括对进程链表的管理,控制台,文件系统描述,文件描述符,内存管理描述,信号描述等. 创建一个新进程在内核中的执行过程 for ...