PetaPoco 访问SQL SERVER 存储过程

博客园有篇文章《小巧方便的ORM类库——PetaPoco》  介绍了PetaPoco调用存储过程:

//调用存储过程
db.Execute("exec procSomeHandler @0, @1", 3, "2011-10-01");

//调用带输出(OUTPUT)参数的存储过程, 写的sql语句,@0参数后的“output”是关键
var param = new SqlParameter() { Direction = ParameterDirection.Output, SqlDbType = SqlDbType.Int };
db.Execute("exec procSomeHandler @0 OUTPUT", param);

下面再介绍介绍既有输入参数,又有输出参数的存储过程调用:假设有存储过程定义如下:CREATE PROCEDURE [dbo].[sp_pub_SerialNo_new] @SerialNoType varchar(30),  -- 需要得到编号的业务类型 @Year int,     -- @Year ,@Month = 0 ,使用系统的日期 @Month int, @SerialNo varchar(30) output

//PetaPoco调用如下:

//string Jobtype ,int iYear,int iMonth 设置初始值var param = new SqlParameter("SerialNo",SqlDbType.VarChar,30);param.Direction = System.Data.ParameterDirection.Output;DataContext _db = DataContextHelp.GetDataContextDefault();//调用存储过程得到一个业务编号var spResult = _db.Execute("EXEC sp_pub_SerialNo_new @SerialNoType,@Year,@Month,@SerialNo OUTPUT "          , new { SerialNoType=JobType,Year= iYear,Month= iMonth,SerialNo= param });return param.Value.ToString(); //返回输出参数

注意红色部分:1.声明一个输出参数2.SQL 语句部分添加OUTPUT3.参数列表里面传递param4.spResult 可以读取存储过程的返回值
时间: 2024-11-07 13:52:46

PetaPoco 访问SQL SERVER 存储过程的相关文章

SQL Server存储过程的初步认知

什么是存储过程? 存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令.实际上存储过程就是能完成一定操作的一组SQL语句. 为什么要用存储过程? 1.  存储过程只在创造时候编译,以后每次执行存储过程都不需要再重新的编译,而一般的SQL语句每执行一次就需要编译一次,所以使用存储过程可提高数据库执行速度. 2.  当对数据库进行复杂操作时,可将此复杂操作用存储过程封装起来与数据库提供的事物处理结合在一起. 3.  存储过程可以重复的使用,降低开发人员的工作量,提高工作效率. 4.  安全

SQL Server 存储过程(转载)

SQL Server 存储过程 Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. Ø 存储过程的概念 存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行. 存储过程中可以包含逻辑控制语句和数据操纵语句,它可以接受参数.输出参数.返回单个或多个结果集以及返回值. 由于存储

14、SQL Server 存储过程

SQL Server 存储过程 存储过程类似函数,可以重复使用.相对于函数,存储过程拥有更强大的功能和更高的灵活性. 存储过程中可以包含逻辑控制语句和数据操作语句,可以接受参数,输出参数,返回单个值或多个结果集. 存储过程带来的好处: 1.性能的提升 存储过程执行时,第一次会进行编译和优化.但批处理T-SQL语句每次执行都需要预编译和优化,所以没有存储过程快. 2.易于维护 存储过程创建后存储在数据库中,可以被程序多次调用执行.当需要修改存储过程时,对应用程序代码毫无影响. 3.安全性 应用程序

SQL Server 存储过程(转)

SQL Server 存储过程 Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. Ø 存储过程的概念 存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行. 存储过程中可以包含逻辑控制语句和数据操纵语句,它可以接受参数.输出参数.返回单个或多个结果集以及返回值. 由于存储

原生的ado.net(访问sql server数据库)

本文介绍原生的ado.net(访问sql server数据库) 写在前面 数据库连接字符串 过时的写法 string str = "server=localhost;database=my_db;uid=sa;pwd=123"; 主流的写法 sql验证写法 string str = "Data Source=localhost;Initial Catalog=my_db;User ID=sa;Password=123"; windows验证写法 string str

SQL Server存储过程的使用

存储过程概述 简单来说,存储过程就是一条或者多条sql语句的集合,可视为批处理文件,但是其作用不仅限于批处理. 基本概念: SQL Server中的存储过程是使用T_SQL编写的代码段.它的目的在于能够方便的从系统表中查询信息, 或者完成与更新数据库表相关的管理任务和其他的系统管理任务.T_SQL语句是SQL Server数据库与应用程序之间的编程接口. 存储过程就是SQL Server为了实现特定任务,而将一些需要多次调用的固定操作语句编写成程序段,这些程序段存储在服务器上, 有数据库服务器通

.NET跨平台之旅:升级至ASP.NET 5 RC1,Linux上访问SQL Server数据库

今天微软正式发布了ASP.NET 5 RC1(详见Announcing ASP.NET 5 Release Candidate 1),.NET跨平台迈出了关键一步. 紧跟这次RC1的发布,我们成功地将运行在Linux上的示例站点(http://about.cnblogs.com)升级到了ASP.NET 5 RC1,并且增加了数据库访问功能——基于Entity Framework 7 RC1访问SQL Server数据库. 示例站点页面左侧的导航是从数据库读取数据动态加载的,数据库服务器用的是阿里

Sql Server 存储过程中查询数据无法使用 Union(All)

原文:Sql Server 存储过程中查询数据无法使用 Union(All) 微软Sql Server数据库中,书写存储过程时,关于查询数据,无法使用Union(All)关联多个查询. 1.先看一段正常的SQL语句,使用了Union(All)查询: SELECT ci.CustId --客户编号 , ci.CustNam --客户名称 , ci.ContactBy --联系人 , ci.Conacts --联系电话 , ci.Addr -- 联系地址 , ci.Notes --备注信息 , ai

NodeJS下访问SQL Server

1.下载node-sqlserver(msnodesql-0.2.1-v0.8-x64.msi) msnodesql 下载地址:下载  自行选择与自己系统相符的版本,点击安装. msnodesql 官方地址:https://github.com/WindowsAzure/node-sqlserver 含wiki 和 疑问解答 . 2.打开msnodesql 文件夹下的README.md文件,里面有说到要安装的东西. 3.安装node-gyp,打开命令行,输入命令: npm install -g