知识大全 调用存储过程[2]

Posted

篇首语:人不能象走兽那样活着,应该追求知识和美德。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 调用存储过程[2]相关的知识,希望对你有一定的参考价值。

C#高级编程:调用存储过程[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

    ——此文章摘自《C#高级编程(第 版)》定价 元 特价 元 购买

    调用返回输出参数的存储过程

    前面两个执行存储过程的示例都没有返回值 如果存储过程包含输出参数 则它们就需要在 NET客户程序中定义 以便在过程返回时填充其输出参数 下面的示例说明了如何在数据库中插入记录 把该记录的主键码返回给调用者

    记录的插入    Region表仅由一个主键码(RegionID)和描述字段(RegionDescription)组成 要插入一个记录 需要生成该数字主键码 再把新行插入到数据库中 在这个示例中 通过在存储过程中创建一个主键码 简化了主键码的生成 使用的方法未经过任何加工 这就是本章的后面用一节的篇幅介绍键的生成的原因 下面使用这个示例就足够了     CREATE PROCEDURE RegionInsert(@RegionDescription NCHAR( ) @RegionID INTEGER OUTPUT)AS       SET NOCOUNT OFF       SELECT @RegionID = MAX(RegionID)+        FROM Region       INSERT INTO Region(RegionID RegionDescription)       VALUES(@RegionID @RegionDescription)    GO

    插入过程创建一个新Region记录 在数据库本身生成主键码值时 这个值作为输出参数从过程返回(@RegionID) 这对于这个简单示例来说就足够了 但对于比较复杂的表(特别是有默认值的表) 通常不使用输出参数 而选择整个插入的行 把该行返回给调用者 NET类可以处理这两种情况     SqlCommand  aCommand = new SqlCommand( RegionInsert conn);     aCommand CommandType = CommandType StoredProcedure;     aCommand Parameters Add(new SqlParameter( @RegionDescription  SqlDbType NChar     RegionDescription ));     aCommand Parameters Add(new SqlParameter( @RegionID  SqlDbType Int    ParameterDirection Output   false       RegionID                     DataRowVersion Default  null));     aCommand UpdatedRowSource = UpdateRowSource OutputParameters;

    其中参数的定义比较复杂 第二个参数@RegionID定义为包含其参数定向 在这个示例中是Output 除这个标志之外 该示例还在最后一行使用UpdateRowSource枚举表示通过输出参数从这个存储过程返回的数据 当从一个DataTable(详见本章后面的内容)中执行存储过程调用时 主要使用这个标志

    调用这个存储过程类似于前面的示例 但在这个实例中 需要在执行完过程后读取输出参数     aCommand Parameters[ @RegionDescription ] Value = South West ;    aCommand ExecuteNonQuery();    int newRegionID = (int) aCommand Parameters[ @RegionID ] Value;

    在执行完命令后 读取@RegionID参数的值 并把它的数据类型转换为整型

    如果调用的存储过程返回输出参数和一组记录行 该怎么办?在该实例中 应定义合适的参数 而不是调用ExecuteNonQuery() 应调用另一个方法(例如ExecuteReader()) 遍历所有的返回记录

cha138/Article/program/net/201311/15501

相关参考

知识大全 ASP调用存储过程源码示例

ASP调用存储过程源码示例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ASP调用存储过程源码

知识大全 调用存储过程[1]

C#高级编程:调用存储过程[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs

知识大全 java调用oracle存储过程

  一无返回值的存储过程  存储过程为  CREATEORREPLACEPROCEDURETESTA(PARAINVARCHARPARAIN VARCHAR) 

知识大全 Hibernate 调用存储过程

Hibernate调用存储过程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 Delphi存储过程调用

Delphi存储过程调用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  网上对该问题的帖子很多但

知识大全 SQLSERVER存储过程及调用详解

SQLSERVER存储过程及调用详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!lishixin

知识大全 Ibatis调用Oracle存储过程

Ibatis调用Oracle存储过程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  最近开始接触

知识大全 ASP调用带参数存储过程

ASP调用带参数存储过程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  这也是最简单的方法两个输

知识大全 C#调用存储过程简单完整例子

C#调用存储过程简单完整例子  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  CREATEPROC

知识大全 在ACCESS 中调用后台存储过程

在ACCESS中调用后台存储过程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ACCESS是一