调用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 ...
随机推荐
- SpringMVC+Hibernate 项目开发之二 (STS整合Maven)
为什么用STS不用Eclipse,主要是Eclipse集成Maven把我整疯了,最后估计原因除在网速上了. 其实用了STS以后发现还真比Eclipse好用点. STS本身集成有Maven的,但是默认的 ...
- 「BZOJ1000」A+B Problem
写这个主要是为了凑\(BZOJ\)题解用的,不用在意.跳过即可 \(Code\) #include<bits/stdc++.h> using namespace std; int main ...
- Android Studio无法找到tool.jar解决方法!
今天安装并配置了JDK,可以在DOS窗口中使用“java -version”命令查看JAVA版本信息了,随后安装Android Studio,但是等Android Studio安装完毕,启动时候发现, ...
- JavaScript定位导航滚动2
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- gitlab忘记管理员密码
gitlab忘记密码后破解! gitlab-rails console production :> user = User.).first irb(main)::> user.passwo ...
- python之模块引入
模块引入就是我们经常见到的import xxxx以及from xxx import xxx两种形式.无论是哪一种方式,都要具体到模块名.下面分别看一下两种区别: 1. import import 后面 ...
- IIS环境下上传文件失败
跟随学习代码练习 php 上传文件,一开始是点击按钮后没有反应,不知道是否成功,使用 var_dump($_FILES) 查看,发现空空如也.遂百度一下,发现基本代码应如下 <form acti ...
- python-sort()/sorted()比较
Sorting Lists sorted(iterable,key=None,reverse=False),does not mutate list, must assign result to a ...
- openLayers地图缩放的回调
//设置地图最小缩放级别为17级 map.events.register("zoomend", this, function (e) { //每次地图缩放时就会进入到这 if (m ...
- WordPress 设置GeoIP数据库目录权限时错误解决方案
存在一个问题 更新完WP-statistics后,不知道为什么出现了一个错误提示:设置GeoIP数据库目录权限时错误,请确保您的Web服务器有权限写入到目录/var/www/html/wordpres ...