delphi_sql_游标分页_分页dbgrid查询
alter procedure qry_page
@sqlstr nvarchar(4000), --查询字符串
@page int, --第N页
@pagesize int --每页行数
as
declare @rscounts int --记录总数
declare @pages int --页面总数
set nocount on
declare @P1 int --P1是游标的id
exec sp_cursoropen @P1 output,@sqlstr,@scrollopt=1,@ccopt=1,@RecordCount=@rscounts output
set @pages = ceiling(1.0*@rscounts/@pagesize)
if @page<=0 set @page=1
if @page>@pages set @page=@pages
--当前页面条数,不足一页
declare @curpg_counts int
if @rscounts<@page*@pagesize
set @curpg_counts=@rscounts-(@page-1)*@pagesize
else
set @curpg_counts=@pagesize
--当前页起始行,从1开始
declare @startPos int
set @startPos=(@page-1)*@pagesize+1
--获取指定记录
exec sp_cursorfetch @P1,16,@startPos,@curpg_counts
exec sp_cursorclose @P1
set nocount off
--另外返回记录总数/总页面数/当前页/每页条数
select rscounts=@rscounts,pages=@pages,pagesize=@pagesize,page=@page
--exec qry_page 'select * from user_record_in order by id',3,5
客户端访问程序
delphi版本:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Grids, DBGrids, ExtCtrls, DB, ADODB, Mask;
type
TForm1 = class(TForm)
Panel1: TPanel;
DBGrid1: TDBGrid;
SpeedButton6: TSpeedButton;
SpeedButton7: TSpeedButton;
Label5: TLabel;
SpeedButton1: TSpeedButt
相关文档:
部门结构
Id name parentId
-----------------
1 人事部 0
2
开发部 1
3 服务部 1
用户结构
Id name departId
--------------------
101
张三 2
102 李四 2
103 王五 3
想得到
ID name
parentId
-------------------
1 人事部 0
2 开发部 1
101
张 ......
create table aaa
(
id int primary key ,
name varchar(30) not null
)
create table bbb
(
id int primary key ,
name varchar(30) not null
)
--交
select * from aaa
where exists
(
select * from bbb where aaa.id=bbb.id and aaa.name = bbb.name
)
--差
select *
from bbb
where not exists
(
......
配置源程序
附加数据库SQL Server 2005
(1)将TM\01\App_Data文件夹中的db_SIS.mdf和db_SIS_log.ldf文件拷贝到SQL Server 2005安装路径下的MSSQL.1\MSSQL\Data目录下。
(2)选择开始/程序/Microsoft SQL Server 2005/SQL Server Management Studio项,进入到“连接到服务器”页面,如图1.1所示。
图1.1&nbs ......
A。
SQL语句的并集UNION,交集JOIN(内连接,外连接),交叉连接(CROSS
JOIN笛卡尔积),差集(NOT IN)
1.
a. 并集UNION
SELECT column1, column2 from table1
UNION
SELECT column1, column2 from table2
b. 交集JOIN
SELECT * from table1 AS a JOIN table2 b ON a.name=b.name
c. 差集NOT IN
SELECT * from tabl ......
1.按姓氏笔画排序: Select * from TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as
2.数据库加密: select encrypt('原始密码') select pwdencrypt('原始密码') select pwdcompare('原始密码','加密后密码') = 1--相同;否则不相同
3.取回表中字段: declare @list varchar(1000),@sql nvarchar(1000)&n ......