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中的存储过程的更多相关文章

  1. C#调用SQL中的存储过程中有output参数,存储过程执行过程中返回信息

      C#调用SQL中的存储过程中有output参数,类型是字符型的时候一定要指定参数的长度.不然获取到的结果总是只有第一字符.本人就是由于这个原因,折腾了很久.在此记录一下,供大家以后参考! 例如: ...

  2. java中调用数据库中的存储过程和函数

    public static void main(String[] args)    {         Connection conn =getConnection(url,user, pwd);   ...

  3. Mybatis调用Oracle中的存储过程和function

    一.Mybatis调用存储过程 1 在数据库中创建以下的存储过程create or replace procedure pro_hello(p_user_name in varchar2,p_resu ...

  4. sqlserver中的存储过程 函数 事物 索引及视图

                                           存储过程和函数具体的区别: 核心提示:本质上没区别.只是函数有限制只能返回一个标量,而存储过程可以返回多个.并且函数是可以 ...

  5. java调用Oracle中的存储过程与存储函数

    1 //调用存储过程 2 public static void testPro(){ 3 String driver = "oracle.jdbc.OracleDriver"; 4 ...

  6. SQLServer中系统存储过程sp_spaceused

    sp_spaceused 执行sp_spaceused存储过程的时候可以不用带参数,直接执行,或者exec sp_spaceused都可以,返回两个结果集: 列名 数据类型 描述 database_n ...

  7. SQLServer 中的存储过程中判断临时表是否存在,存在则删除临时表

    IF OBJECT_ID('TEMPDB..#BCROSSREFERENCE ') IS NOT NULL DROP TABLE #BCROSSREFERENCE IF OBJECT_ID('TEMP ...

  8. sqlserver中查询存储过程中的字符串

    select name from sysobjects o, syscomments s where o.id = s.id and text like '%querytext%' and o.xty ...

  9. 创建并在项目中调用SQLSERVER存储过程的简单示例

    使用SQLSERVER存储过程可以很大的提高程序运行速度,简化编程维护难度,现已得到广泛应用.创建存储过程 和数据表一样,在使用之前需要创建存储过程,它的简明语法是: 引用: Create PROC ...

随机推荐

  1. IT学习资源

    介绍个人微信公众平台:Web开发笔记 含有免费学习资源,个人学习笔记,技术文章分享  资源篇 1.webapp书城开发 链接: https://pan.baidu.com/s/1pMHGKrh 密码: ...

  2. CI框架集成Smarty

    1.下载smarty源码包,解压放置于项目目录 libriaries中 2.在libraries中建立Cismarty.php ,填写如下代码 <?php if(!defined('BASEPA ...

  3. C# 接口(3)

    这么半天说了如何使用,实现接口.相信也都发现了接口和抽象类很多相似的地方. 但是! 这两个根本就是不一样的. 抽象类 :                                         ...

  4. Selenium API(一)

    1.设置浏览器大小: # -*- coding:utf- -*- from selenium import webdriver import time driver = webdriver.Firef ...

  5. Python3之pickle模块

    用于序列化的两个模块 json:用于字符串和Python数据类型间进行转换 pickle: 用于python特有的类型和python的数据类型间进行转换 json提供四个功能:dumps,dump,l ...

  6. 帝国cms刷新内容页提示.phome_ecms_news_data_' doesn't exist

    帝国cms后台刷新提示.phome_ecms_news_data_' doesn't exist解决方法: 刷新所有信息内容页面时提示“Table '*.phome_ecms_article_data ...

  7. php 大文件读取

    当你需要处理一个5G的文件里面的数据时,你会怎么做,将文件里面的内容全部读取到一个数组里面去? 显然这种做法对小文件是没有问题的,但是对于大文件还是不行的 这时就需要用到  yield 了 ,注意这是 ...

  8. ubuntu 18.04 通过联网方式安装wine

    ubuntu 18.04 通过联网方式安装wine 1.如果是64位机器,先开启允许32位架构程序运行 sudo dpkg --add-architecture i386 2.添加元wine源码安装仓 ...

  9. js 伪数组 arguments

    /* 定义一个函数,如果不确定用户是否传入了参数, arguments可以获取到函数传入了多少个参数 和每个参数的值 */ /* 定义 */ function f1() { //获取的是函数在调用的时 ...

  10. 单选框radio总结(获取值、设置默认选中值、样式)

    单选框 radio <div class="radio-inline"> <input type="radio" name="kil ...