调用sqlserver中的存储过程
1、存储过程名
string strSQL = "usp_GetUnReturnPassports";
2、创建数据库对象 database
Database db = DatabaseFactory.CreateDatabase(ConfigHelper.CurrentConfig.LocalDBName);
3、创建数据库命令对象 DbCommand
DbCommand command = db.GetStoredProcCommand(strSQL);
4、添加参数
db.AddInParameter(command, "unitCode", DbType.String, unitCode.Substring(0, 3));
db.AddInParameter(command, "startDate", DbType.DateTime, startDate);
db.AddInParameter(command, "endDate", DbType.DateTime, endDate);
5、执行命令
DataSet ds = db.ExecuteDataSet(command);
6、读取结果
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
PassportBR one = new PassportBR();
one.Id = int.Parse(ds.Tables[0].Rows[i][0].ToString());
。。。。
}
额外知识点补充:
1、上面存储过程的写法
USE [cnpc]
GO
/****** Object: StoredProcedure [dbo].[usp_GetUnReturnPassports] Script Date: 05/23/2018 09:26:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: zhengwei 18963948278
-- Create date: 2016-12-28
-- Description: 获取应归还证照
-- =============================================
ALTER PROCEDURE [dbo].[usp_GetUnReturnPassports]
(
@unitCode nvarchar(6),
@startDate datetime,
@endDate datetime
)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON; select b.Id,b.PassportNumber,b.Name,b.Xmbm,b.processedUnit,b.BorrowDate,b.ReceiverName,b.ReceiverTel,b.CashPledge,
b.MustReturnDate,b.ReturnDate,b.Depositary,b.RWPJLetterNumber,b.GroupName,b.BProcessedBy,b.RProcessedBy
from [PassportBR] b
left join hzhk k on b.passportNumber=k.hzhhm
left join ryk on ryk.xmbm=b.xmbm
where k.IsSetDeleted=0 and k.jchqk='Y' and k.xhrq is null and k.zhxrq is null and k.jzhrq>GETDATE()
--未标记删除的,借出状态的,未销毁的,未注销的,有效期内的
and b.RprocessedBy is null and b.MustReturnDate>'2016-8-1'
--未归还的,应归还日期是2016-8-1之后的
and (b.processedUnit=@unitCode or ryk.gzdw=@unitCode) and b.MustReturnDate between @startDate and @endDate
--护照保管单位+工作单位
END
调用sqlserver中的存储过程的更多相关文章
- C#调用SQL中的存储过程中有output参数,存储过程执行过程中返回信息
C#调用SQL中的存储过程中有output参数,类型是字符型的时候一定要指定参数的长度.不然获取到的结果总是只有第一字符.本人就是由于这个原因,折腾了很久.在此记录一下,供大家以后参考! 例如: ...
- java中调用数据库中的存储过程和函数
public static void main(String[] args) { Connection conn =getConnection(url,user, pwd); ...
- Mybatis调用Oracle中的存储过程和function
一.Mybatis调用存储过程 1 在数据库中创建以下的存储过程create or replace procedure pro_hello(p_user_name in varchar2,p_resu ...
- sqlserver中的存储过程 函数 事物 索引及视图
存储过程和函数具体的区别: 核心提示:本质上没区别.只是函数有限制只能返回一个标量,而存储过程可以返回多个.并且函数是可以 ...
- java调用Oracle中的存储过程与存储函数
1 //调用存储过程 2 public static void testPro(){ 3 String driver = "oracle.jdbc.OracleDriver"; 4 ...
- SQLServer中系统存储过程sp_spaceused
sp_spaceused 执行sp_spaceused存储过程的时候可以不用带参数,直接执行,或者exec sp_spaceused都可以,返回两个结果集: 列名 数据类型 描述 database_n ...
- SQLServer 中的存储过程中判断临时表是否存在,存在则删除临时表
IF OBJECT_ID('TEMPDB..#BCROSSREFERENCE ') IS NOT NULL DROP TABLE #BCROSSREFERENCE IF OBJECT_ID('TEMP ...
- sqlserver中查询存储过程中的字符串
select name from sysobjects o, syscomments s where o.id = s.id and text like '%querytext%' and o.xty ...
- 创建并在项目中调用SQLSERVER存储过程的简单示例
使用SQLSERVER存储过程可以很大的提高程序运行速度,简化编程维护难度,现已得到广泛应用.创建存储过程 和数据表一样,在使用之前需要创建存储过程,它的简明语法是: 引用: Create PROC ...
随机推荐
- Autofac的Autofac.Core.Activators.Reflection.DefaultConstructorFinder错误解决方案。
在使用Autofac的时候,不给力,看着例子来的,人家没问题,我就报了Autofac.Core.Activators.Reflection.DefaultConstructorFinder错误. 百般 ...
- 类的互相包含------新标准c++程序设计
#include<iostream> using namespace std; class A; class B{ public: void f(A* pt){}; } class A{ ...
- Educational Codeforces Round 62 (Rated for Div. 2)E(染色DP,构造,思维,组合数学)
#include<bits/stdc++.h>using namespace std;const long long mod=998244353;long long f[200007][2 ...
- atp
一. 新建atp目录,该目录下包含bin(存放启动程序等).config(存放配置程序).lib(存放过程程序).logs(存放生成的日志).cases(存放用例的excel文件)五个目录,并新建一个 ...
- loj #2255. 「SNOI2017」炸弹
#2255. 「SNOI2017」炸弹 题目描述 在一条直线上有 NNN 个炸弹,每个炸弹的坐标是 XiX_iXi,爆炸半径是 RiR_iRi,当一个炸弹爆炸时,如果另一个炸弹所在位置 X ...
- 洛谷P2775 机器人路径规划问题
传送门 题解 至今没看懂这深搜怎么写的…… //minamoto #include<iostream> #include<cstdio> #include<cstring ...
- sql 表字段模糊连接
select AreauserCode,RtuName from TB_AreaUser as tau right join TB_MaintenanceInfo inf on inf.RtuName ...
- X7-2存储节点操作系统盘上的变化
我们知道,在X7-2之前,存储节点的12块机械硬盘的前2块(LUN0和LUN1)中各划出33GB的分区来做RAID1,这个RAID1再划出小的分区来存放操作系统和存储软件等. 但从X7-2开始,这发生 ...
- SQL函数:返回传入的字符中的数字或者字符
/******返回传入的字符串的所有字符 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER function [dbo].[F_Get ...
- bat mvn Maven中-DskipTests和-Dmaven.test.skip=true的区别 Maven 生命周期
cd C:\Users\lt32806\git\tempest call mvn clean compile -Dmaven.test.skip=truepause Maven中-DskipTests ...