ibatis.Net是一个比较简单和灵活的ORM框架,今天我分享一个我的项目中使用sql server通用存储过程来分页的一个例子,用ibatis.Net框架统一返回分页数据为IList<Hashtable>类型.下面是具体的代码步骤,你可以拿来直接用. 1.ibatis.Net配置文件Common.xml <?xml version="1.0" encoding="utf-8" ?> <sqlMap namespace="C…
原文: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…
1.引言 今天在工作中遇到一个需要进行sql server分页数据查询的问题,但是分页数据查询的sql却忘记了,最终通过查询资料解决了该问题.现在把解决方法记下,以备查阅. 在这里需要感谢博客园的Qlin 2.数据分页语句 假设需要查询表为Test,Test表中有个字段为ID(我这里用的是int型),当前页pageIndex=5,页大小pageSize=10.则分页查询语句如下: SELECT * FROM ( SELECT ROW_NUMBER() OVER (ORDER BY ID) AS…
CREATE PROCEDURE prcPageResult -- 获得某一页的数据 -- @currPage INT = 1 , --当前页页码 (即Top currPage) @showColumn VARCHAR(2000) = '*' , --需要得到的字段 (即 column1,column2,......) @tabName VARCHAR(2000) , --需要查看的表名 (即 from table_name) @strCondition VARCHAR(2000) = '' ,…
SqlParameter[] param = { new SqlParameter("@shopId",shopId), new SqlParameter("@newShopStr",newShopStr), new SqlParameter("@userId",userId), ), ) }; 注意:output参数需要定义大小,否则只能获取到一个字符…
SELECT ID,Name,Age,Addr,Tel,COUNT(1) OVER() AS totalFROM dbo.Student WHERE Age>22 ORDER BY id DESCOFFSET 2 ROW FETCH NEXT 2 ROWS ONLY…
恢复SQL Server被误删除的数据(再扩展) 大家对本人之前的文章<恢复SQL Server被误删除的数据> 反应非常热烈,但是文章里的存储过程不能实现对备份出来的日志备份里所删数据的恢复 这个是一个缺陷,本人决定对这个存储过程扩展一下,支持对log backup文件里的delete语句进行恢复 实验步骤 1.首先先准备好测试表和测试语句 USE [sss] GO --建表 CREATE TABLE testdelete ( id , ) NOT NULL PRIMARY KEY , NA…
恢复SQL Server被误删除的数据 <恢复SQL Server被误删除的数据(再扩展)> 地址:http://www.cnblogs.com/lyhabc/p/4620764.html 曾经想实现Log Explorer for SQL Server的功能,利用ldf里面的日志来还原误删除的数据 这里有一篇文章做到了,不过似乎不是所有的数据类型都支持 以下为译文:http://raresql.com/2011/10/22/how-to-recover-deleted-data-from-s…
开篇语 之前的公司并未使用存储过程来做项目,所以小生对存储过程的调用.使用也是一知半解,刚好这家公司就大量用到了存储过程 这次做的功能,为了保持风格一致,也是需要使用存储过程来实现动态sql和数据分页 下面一起来看看如何实现的吧(小白一枚,不喜勿喷,请轻拍)- 调用存储过程(其中condition 是前台传入的拼接查询条件,parameters[4] 是排序字段) 存储过程实现 是否 USE [EPMS] GO /****** Object: StoredProcedure [dbo].[sp_…
SQL Server 中对已经定义的变量赋值的方式用两种,分别是 SET 和 SELECT. 对于这两种方式的区别,SQL Server 联机丛书中已经有详细的说明,但很多时候我们 并没有注意,其实这两种方式还是有很多差别的. SQL Server推荐使用 SET 而不是 SELECT 对变量进行赋值. 当表达式返回一个值并对一个变量进行赋值时,推荐使用 SET 方法. 下表列出 SET 与 SELECT 的区别.请特别注意红色部分.   set select 同时对多个变量同时赋值 不支持 支…