在创建带输出参数和返回值的存储过程时---犯下的一个低级错误

异常处理汇总-数据库系列 http://www.cnblogs.com/dunitian/p/4522990.html

后期会在博客首发更新:http://dnt.dkill.net/Article/Detail/313

错误如图,怎么执行都没有自己想要的效果(return掉了,还有个啥???!!!)

处理后:

if exists(select * from sysobjects where name='usp_AllPmsTest')
    drop proc usp_AllPmsTest
go
create proc usp_AllPmsTest
@cityName nvarchar(30),
@id int output
as
begin
    insert into ShopModelBak values(@cityName,1,1)
    set @id=@@identity
 
    select CPName,CName,SName,MType,MName,Mprice from ShopMenu
    inner join ShopModel on ShopMenu.MShopId=ShopModel.SId
    inner join View_CityData on ShopMenu.MCityId=CId
    where CName=@cityName
 
    return (select count(1) from ShopMenu)
end
go
declare @total int,@id int
exec @total=usp_AllPmsTest '滨湖区',@id output
select @id Id,@total total

ADO.Net

var pms = new SqlParameter[]
                          {
                          new SqlParameter("@cityName", "滨湖区"),
                          new SqlParameter("@id", SqlDbType.Int),
                          new SqlParameter("@total", SqlDbType.Int)
                          };
            pms[1].Direction = ParameterDirection.Output;
            pms[2].Direction = ParameterDirection.ReturnValue;
            var list = SQLHelper.ExecuteReader<ShopMenu>("usp_AllPmsTest", CommandType.StoredProcedure, pms);
            foreach (var item in list)
            {
                Console.WriteLine(item.MName + " " + item.MPrice);
            }
            Console.WriteLine("刚才插入的ID是:{0},总共{1}条数据", pms[1].Value, pms[2].Value);

相关文章:http://www.cnblogs.com/dunitian/p/5362528.html

原文发布于微信公众号 - 我为Net狂(dotNetCrazy)

原文发表时间:2016-04-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏跟着阿笨一起玩NET

WinForm程序启动控制台窗口Console

本文转载:http://blog.csdn.net/oyi319/article/details/5753311

32910
来自专栏跟着阿笨一起玩NET

使用windows服务和MSMQ和进行日志管理(解决高并发问题)

然后就可以写我们的代码了,我们的服务需要实时监视MSMQ的队列中有没有记录,如果有,就向数据库中插入

53510
来自专栏菩提树下的杨过

Enterprise Library 4.1学习笔记4----缓存应用程序块

缓存是个啥?以及为啥要用缓存就不废话了,主要是从实用角度讲下怎么用 1.先添加对Microsoft.Practices.EnterpriseLibrary.Ca...

21560
来自专栏分布式系统和大数据处理

在Web站点中创建和使用Rss源

Rss是将你Web站点的内容与其他人分享的标准方式。Rss代表着:Really Simple Syndication。它不过是一个标准化的XML标记,用于描述你...

9020
来自专栏跟着阿笨一起玩NET

winform 窗体实现增删改查(CRUD)窗体基类模式

参考博客下方:http://www.cnblogs.com/wuhuacong/archive/2010/05/31/1748579.html

39420
来自专栏跟着阿笨一起玩NET

基于TCP通信的客户端断线重连

转载:http://www.cnblogs.com/networkcomms/p/4304362.html

53310
来自专栏技术之路

Caliburn.Micro学习笔记(四)----IHandle<T>实现多语言功能

说一下IHandle<T>实现多语言功能 因为Caliburn.Micro是基于MvvM的UI与codebehind分离, binding可以是双向的所以我们想...

25470
来自专栏王磊的博客

web api添加拦截器

实现思路 1.标识控制器有拦截特性; 2.控制器拦截处理; 代码实现 1.标识控制器有拦截特性,代码: [MyFilter] public string Pos...

23040
来自专栏王磊的博客

iBatis for net 框架使用

简介:ibatis 一词来源于“internet”和“abatis”的组合,是一个由Clinton Begin在2001年发起的开放源代码项目,到后面发展的版本...

364100
来自专栏用户2442861的专栏

Java:HttpClient篇,HttpClient4.2在Java中的几则应用:Get、Post参数、Session(会话)保持、Proxy(代理服务器)设置,多线程设置...

新版HttpClient4.2与之前的3.x版本有了很大变化,建议从http://hc.apache.org/处以得到最新的信息。

28010

扫码关注云+社区

领取腾讯云代金券