知识大全 调用存储过程[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调用存储过程源码示例 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ASP调用存储过程源码
C#高级编程:调用存储过程[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs
一无返回值的存储过程 存储过程为 CREATEORREPLACEPROCEDURETESTA(PARAINVARCHARPARAIN VARCHAR)
Hibernate调用存储过程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  
Delphi存储过程调用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 网上对该问题的帖子很多但
SQLSERVER存储过程及调用详解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!lishixin
Ibatis调用Oracle存储过程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 最近开始接触
ASP调用带参数存储过程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 这也是最简单的方法两个输
C#调用存储过程简单完整例子 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! CREATEPROC
在ACCESS中调用后台存储过程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ACCESS是一