Delphi调用SQL分页存储过程实例】的更多相关文章

Delphi调用SQL分页存储过程实例 (-- ::)转载▼ 标签: it 分类: Delphi相关 //-----下面是一个支持任意表的 SQL SERVER2000分页存储过程 //----分页存储过程开始创建----------------------------------------------------------------------------------------------------------- IF EXISTS (SELECT name FROM sysobje…
[转]关于SQL分页存储过程的分析 建立一个 Web 应用,分页浏览功能必不可少.这个问题是数据库处理中十分常见的问题.经典的数据分页方法是:ADO 纪录集分页法,也就是利用ADO自带的分页功能(利用游标)来实现分页.但这种分页方法仅适用于较小数据量的情形,因为游标本身有缺点:游标是存放在内存中,很费内存.游标一建立,就将相关的记录锁住,直到取消游标.游标提供了对特定集合中逐行扫描的手段,一般使用游标来逐行遍历数据,根据取出数据条件的不同进行不同的操作.而对于多表和大表中定义的游标(大的数据集合…
http://www.cnblogs.com/andiki/archive/2009/03/24/1420289.html Code/********************************************************* * 作 用:数据分页(完整SQL分页存储过程(支持多表联接))* 作 者:齐李平* 创建日期:2009-03-23* 使用说明: 1.单表调用方法:EXEC proc_DataPagination @tblName = 'ipa',@fldName…
1.首先展示创建sql server存储过程的语句,创建一个简单的存储过程,测试用. SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[register_info] ), ), ), ), ), @create_time datetime AS BEGIN ); BEGIN TRY BEGIN TRANSACTION; --插入注册信息,这里未做任何验证,直接插入 INSERT into regist…
Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. Ø 存储过程的概念 存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行. 存储过程中可以包含逻辑控制语句和数据操纵语句,它可以接受参数.输出参数.返回单个或多个结果集以及返回值. 由于存储过程在创建时即在数据库服务器上进…
关于SQL分页的问题,网上找到的一些SQL其实不能真正做到通用,他们主要是以自增长ID做为前提的.但在实际使用中,很多表不是自增长的,而且主键也不止一个字段,其实我们稍做改进就可以达到通用.这里还增加了索引,以方便大数据量的使用(代码中是先抓到临时表的,从性能上说如果采用自增长式的ID表,当然可以不使用临时表以达到性能的提升).以下代码的SP是经过我们项目使用通过的.因朋友问及此问题,我就放在这里供大家分享,如各位大侠有更好的方法,也请告诉我.在这里先感谢各位了. ALTER PROCEDURE…
建 立一个 Web 应用,分页浏览功能必不可少.这个问题是数据库处理中十分常见的问题.经典的数据分页方法是:ADO 纪录集分页法,也就是利用ADO自带的分页功能(利用游标)来实现分页.但这种分页方法仅适用于较小数据量的情形,因为游标本身有缺点:游标是存放在内存 中,很费内存.游标一建立,就将相关的记录锁住,直到取消游标.游标提供了对特定集合中逐行扫描的手段,一般使用游标来逐行遍历数据,根据取出数据条件的 不同进行不同的操作.而对于多表和大表中定义的游标(大的数据集合)循环很容易使程序进入一个漫长…
 存储过程是经过编译的,永久保存在数据中的一组SQL语句,通过创建和使用存储过程能够提高程序的重用性和扩展性,为程序提供模块化的功能,还有利于对程序的维护和管理.以下就详谈一下,VB.NET怎样调用SQL SERVER中的存储过程. 以上就是本人数据库中的一张表-OnDutyInfo 创建存储过程 <span style="font-size:18px;">create procedure pro_OnDutyInfo --存储过程名 @teacherID char(1…
概要: 本文介绍VB.NET使用创建并调用带有输入参数和输出参数的SQL Sever存储过程 本文代码首先检查要创建的存储过程再数据库中是否存在在.如果不存在,则代码创建一个存储过程,该过程一个参数来搜索用户的密码,并在输出参数中返回匹配的行及行数. 步骤: 1.      创建基本的用户界面 2.      创建GetUserID存储过程 create Procedure GetUserID (@username varchar(40), @RowCount int output) as se…
http://www.jb51.net/article/71193.htm http://www.webdiyer.com/utils/spgenerator/ create PROCEDURE [dbo].[Proc_SqlPageByRownumber] ( ), --表名 )= '*',--返回字段 ), --排序的字段名 , --页尺寸 , --页码 , --0升序,非0降序 )='', --查询条件 @TotalCount INT OUTPUT --返回总记录数 ) AS -- ===…
1.表结构如下(预算数据明细表): CREATE TABLE [dbo].[BA_FeeDetail]( [ID] [int] IDENTITY(1,1) NOT NULL, [FeeDeptID] [nvarchar](4) NULL, [FeeDate] [int] NULL, [FeeCode] [nvarchar](10) NULL, [FeeType] [nvarchar](1) NULL, [BAType] [nvarchar](1) NULL, [FeeAmt] [float] N…
Java程序 package com.test; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Types; import com.jdbc.BaseJdbcDAO; import oracle.jdbc.OracleTypes; public class Test { /…
/****** Object: StoredProcedure [dbo].[sys_Page_v3] Script Date: 08/13/2014 09:32:28 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO --/*-----存储过程 分页处理 孙伟 2005-03-28创建 -------*/ --/*-----存储过程 分页处理 浪尘 2008-9-1修改----------*/ --/*----- 对数据进行了2分…
1.分页类 package org.zh.basic; /** * 页面类 * * @author keven * */ public class PageInfo { // 定义 private String p_tableName; // -表名 private String p_strWhere; // --查询条件 private String p_orderColumn; // --排序的列 private String p_orderStyle; // --排序方式 private…
最近新做的一个项目需要使用qt5连接另一台机器上的sql server,虽然网上已有类似文章,但还是有些其中很少提及的问题,故在这里汇总下: qt连接sql server可以参考这篇文章: <Qt 使用ODBC driver 连接SQL Server> 如果是连接另一台机器的sql server就不用执行第一步“开启ODBC驱动”了,另外指定数据库用户名和密码可以使用Uid和Pwd,即原文dsn参数可以这样写: QString dsn = QString("Driver={SQL S…
1. 接口为ExecuteStoredProcedure(string storedProcedureName, params ObjectParameter[] parameters) 2. 参数为存储过程名字, 及输入值. 3. 思路:创建连接(连接中指定了是Sql/MySql/ODBC等等): 创建通用DbCommand:更改Text以及Type:添加通用Parameter(DBParameter是抽象类,因此需要判断connection类型):判断连接状态(需Open): 调用Execu…
//连接数据库 SqlConnection con = new SqlConnection("server=服务器名称;database=数据库名称;user id=登录名;pwd=登录密码;"); 或者用Windows用户自动登录,无需密码,可以用.(或localhost)取代当前的计算机名 SqlConnection con = new SqlConnection("server=.;database=数据库名称;integrated security=SSPI"…
创建存储过程: CREATE PROCEDURE [dbo].[sp_TBTest_Query] ( @PageSize INT, --每页多少条记录 @PageIndex INT = 1, --指定当前为第几页 @PageCount INT OUTPUT, --返回总页数 @RecordCount INT OUTPUT, --记录总和 @OrderField VARCHAR(5000), --排序字段(多字段,不含Order By) @strWhere VARCHAR(5000), --条件语…
动态根据表数据复制一个表的数据到另一个表 把track表的记录 根据mac_id后两位数字,复制到对应track_? 的表中 如:mac_id=12345678910,则后两位10 对应表为track_10,就把此记录复制到track_10中 创建一个 sub_track的存储过程实现: -- 创建一个 名为sub_track的存储过程CREATE PROCEDURE sub_track() begin declare i int; -- 定义 循环变量i ; -- 定义imei最后两位 ; -…
创建一个存储过程,动态添加100张track表表名track_0 ~~ track_99注:sql的拼接只能用 CONCAT()函数 -- 创建一个存储过程 CREATE PROCEDURE create_track_table() begin declare num int; -- 定义一个循环变量 ; -- 循环 100 遍 do SET @table_name=CONCAT('track_',num); -- 定义表名(变量定义表名) -- 拼接字符串需要用 concat()函数 -- 定…
一,先创建一百万条数据 drop table #tmp create table #tmp ( id ,) primary key, name ) ) declare @i int begin insert into #tmp select 'abc'+ cast(@i as varchar) end 二,测试 1,not in declare @PageIndex int ,@PageSize int declare @timediff datetime set @timediff = get…
1.调用普通存储过程(1)创建存储过程CREATE Procedure [dbo].[GetContactListByName]  /*根据联系人姓名获取联系人信息*/@Name nvarchar(50)Asbegin    select Contact.Id,Contact.Name,Phone,Email,QQ,GroupName from Contact,ContactGroup where Contact.GroupId=ContactGroup.Id and Name like '%'…
最近换了家新公司,但是新公司没有使用分页的存储过程.那我就自个写一个往项目上套 (效率怎么样就不怎么清楚没有详细的测试过) CREATE PROCEDURE [dbo].[pro_common_pageList] ( @tab NVARCHAR(MAX) ,---表名 ) , --主键ID @strFld NVARCHAR(MAX) , --字段字符串 @strWhere NVARCHAR(MAX) = ' ' , --where条件 @IsDistinct BIT , @PageIndex I…
SQL Server数据库存储过程,一个查询使用动态sql,另一个不使用动态sql,这种情况,jdbc可能获取不到实际查询数据,虽然数据库中执行没问题. 解决方法,都使用静态sql,或都使用动态sql.(理论上可以解决上述问题) Mark.…
ALTER PROCEDURE [dbo].[SP_LGY_ICU_PAGECUT] ), -- 表名 ) = '*', -- 需要返回的列 )='''', -- 排序的欄位名 , -- 設置排序類型, 非 0 值則降冪 ) = '''', -- 查詢條件 (注意: 不要加 where) , -- 頁尺寸 @PageIndex int OUTPUT, -- 頁碼 @AllRowCount int OUTPUT, @AllPageCount int OUTPUT AS ) -- 主語句 ) --…
ALTER PROCEDURE [dbo].[P_SplitPagesQuery] @TablesName NVARCHAR(MAX),--表名或视图名(只能传单一表名) @PK NVARCHAR(MAX)='',--主键(可以为空!) @StrSort NVARCHAR(MAX)='',--排序字段(按照这个字段对查询结果进行排序),不能为空 @SortType INT =0,--排序方式,默认为0(升序),1为降序 @StrWhere NVARCHAR(MAX)='',--查询条件(即sql…
一.安装SQL Server Driver for PHP     在微软官网上发现了这个东西,他提供了一套PHP对MS2005/2008操作的全新函数库,并且支持UTF8,作为PHP的扩展运行.看来MS对PHP 还比较亲善,PHP自带的mssql操作函数对MS2005/2008的一些新功能不支持,MS就自己提供了解决方法,赞一个!不过只支持PHP5.2 /5.3,MS说目前在PHP 5.2上测试过,低版本的是否支持就不清楚了.我的系统正好也用的是PHP5.2,其它版本也懒得去测了. 下载地址:…
Create PROCEDURE getuser ( IN pageIndex INT, IN pageSize INT, OUT count INT ) BEGIN )*pageSize; select * from lc_user order by id LImit pindex,pageSize; SELECT COUNT(id) INTO count from lc_user; END 调用: CALL getuser(,,@count); select @count; 结果集:…
CREATE PROCEDURE SP_CommonPageList @Fields VARCHAR(500), @From VARCHAR(1000), @Condition VARCHAR(1000), @SortBy VARCHAR(500), @PageIndex NVARCHAR(10), @PageSize NVARCHAR(10), @TotalCount INT OUT AS DECLARE @SQL NVARCHAR(2000) SET @SQL ='SELECT @Total…
CREATE PROCEDURE [dbo].[Pro_GetPageOfRecords] @PageSize INT=20, --分页大小 @CurrentPage INT, --第几页 @Clumns VARCHAR(1000)='*', --需要得到的字段 @TableName VARCHAR(100), --需要查询的表 @Condition VARCHAR(1000)='', --查询条件,不用加Where关键字 @AscColumn VARCHAR(100)='', --排序的字段名…