使用Data Access Application Block 得到存储过程的返回值

        今天有位朋友问我如何在Data Access Application Block中得到存储的过程的返回值,我才发现自己以前写的文章中确实没提到这方面的问题,现在来补充一下,具体的解决方法如下:

1、首先建立一个具有返回值的存储过程,作为示例,我就简单的建一个存储过程,如下:
create proc test
(
    
@id        int
)
as

declare @flag int

select * from person where id=@id

if @@rowcount > 0
    
set @flag=1
else
    
set @flag=0

return @flag

我们要在程序中获得这个返回值的方法如下:

        [TestMethod]
        
public void TestReturnValue()
        
{
            Database db 
= DatabaseFactory.CreateDatabase();

            DbCommand dbcomm 
= db.GetStoredProcCommand("test");

            db.AddInParameter(dbcomm, 
"@id", DbType.Int32,1);
            
//关键在这里,添加一个参数,类型为ReturnValue
            db.AddParameter(dbcomm, "@RETURN_VALUE", DbType.String, ParameterDirection.ReturnValue, "", DataRowVersion.Current, null);
            db.ExecuteNonQuery(dbcomm);

            
int testvalue = (int)dbcomm.Parameters["@RETURN_VALUE"].Value;

            Assert.AreEqual(testvalue, 
1);
        }

通过上面的代码我们就能够在程序中获得存储过程的返回值了。

以前写的文章可能还有很多地方没说到,希望能有更多的朋友提意见,谢谢!

posted on 2006-06-19 13:11 Daniel Pang 阅读(1365) 评论(1)  编辑 收藏 网摘 所属分类: Enterprise Library

评论

#1楼  2006-06-22 19:39 blueKnight      

ParameterDirection.ReturnValue   回复  引用  查看    


发表评论



姓名 [登录] [注册] 
主页
Email (仅博主可见) 
验证码 *  验证码看不清,换一张
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论   新用户注册   返回页首      

导航: 网站首页 社区 新闻 博问 闪存 网摘 招聘 .NET频道 知识库 找找看 Google站内搜索



China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
China-Pub 计算机绝版图书按需印刷服务

相关文章:

相关链接:
 
<2006年6月>
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678

导航

统计

公告

技术交流平台,真诚的希望能和园子里的朋友交流技术,共同进步!
欢迎加入Castle+IBatisNet交流群:2923364(已满),37745404
特别提示:本站文章若无特别申明,均为原创,转载请注明出自'博客园'!
Emailpwei013#163.com
MSNshypw520#gmail.com

与我联系

搜索

 

常用链接

留言簿

我参与的团队

随笔分类(98)

随笔档案(74)

相册

收藏夹(19)

MY BLOG

公司主页

情侣BLOG

友情链接

积分与排名

最新随笔

最新评论

阅读排行榜

评论排行榜