- 浏览: 75246 次
- 性别:
- 来自: 深圳
最新评论
-
冬天秋天:
哥们,你真是瞎掰……现在还在科创么,感觉如何?
发展抉择~~~~ -
女巫の微笑:
真的很谢谢你这么用心
你写的东西都很经典
基本上把java的核 ...
JAVA杂谈 -
ackley:
谢谢楼主的分享!其实当你发现JAVA的IO是采用decorat ...
[转]JAVA IO流 -
jhj823900:
这么好的机会,走什么走咯,给自己压力,抗下来以后你就成了牛人了 ...
工作经验2.5年,想换个工作,请大家帮忙看看,能找个什么样的工作和薪水 -
morle:
kevindurant 写道geminiyellow ...
工作经验2.5年,想换个工作,请大家帮忙看看,能找个什么样的工作和薪水
发表于:2006年10月13日 13时26分15秒
举报本文链接:http://user.qzone.qq.com/183481361/blog/15
数据库编程2
--title1
use test
go
if exists(select name from sysobjects where name='xscjzb' and type='U')
drop table xscjzb
go
if exists(select name from sysobjects where name='xj_yxjjbxx' and type='U')
drop table xj_yxjjbxx
go
if exists(select name from sysobjects where name='class' and type='U')
drop table class
go
if exists(select name from sysobjects where name='major' and type='U')
drop table major
go
if exists(select name from sysobjects where name='department' and type='U')
drop table department
go
create table department
(yxbh varchar(10) not null primary key,
yxmc varchar(50),
)
go
create table major
(zybh varchar(10) not null primary key,
zymc varchar(50),
yxbh varchar(10) not null constraint fk_major_department foreign key references department(yxbh) on update cascade)
go
create table class
(bjbh varchar(10) not null primary key,
bjjc varchar(50),
rxnf varchar(20) not null default '2006',
bjrs int,
zybh varchar(10) not null constraint fk_class_major foreign key references major(zybh) on update cascade)
go
create table xj_yxjjbxx
(xh varchar(10) not null primary key,
xm varchar(50),
xb varchar(2),
bjbh varchar(10) not null constraint fk_class1 foreign key references class(bjbh) on update cascade)
go
create table xscjzb
(xnxqh varchar(11) not null,
xh varchar(20) not null,
kcbm varchar(11) not null,
ksxzcode varchar(10) not null,constraint pk_lld primary key(xnxqh,xh,kcbm,ksxzcode),
zcj money)
go
insert into department values('01','电子与信息工程学院')
insert into department values('02','教务处')
go
insert into major values('1','计算机科学与技术','01')
insert into major values('2','外国语学院','02')
insert into major values('3','电子','01')
go
insert into class values('0201','计1','2006',35,'1')
insert into class values('0202','计2','2006',32,'1')
insert into class values('0203','计3','2006',36,'1')
insert into class values('0204','电1','2006',32,'3')
insert into class values('0205','电1','2006',29,'3')
insert into class values('0206','英1','2006',30,'2')
go
insert into xj_yxjjbxx values('20020300','邱磊','男','0203')
insert into xj_yxjjbxx values('20020301','邱磊1','男','0203')
insert into xj_yxjjbxx values('20020302','邱磊2','男','0203')
insert into xj_yxjjbxx values('20020303','邱磊3','男','0203')
insert into xj_yxjjbxx values('20020304','张三','男','0201')
insert into xj_yxjjbxx values('20020305','张三1','男','0201')
insert into xj_yxjjbxx values('20020306','张三2','男','0201')
insert into xj_yxjjbxx values('20020307','张三3','男','0201')
insert into xj_yxjjbxx values('20020308','李四','男','0202')
insert into xj_yxjjbxx values('20020309','李四1','男','0202')
insert into xj_yxjjbxx values('20020310','王五','男','0206')
insert into xj_yxjjbxx values('20020311','王五1','男','0206')
insert into xj_yxjjbxx values('20020312','王五2','男','0206')
insert into xj_yxjjbxx values('20020313','王五3','男','0206')
insert into xj_yxjjbxx values('20020314','王五','男','0206')
if exists(select name from sysobjects where name='c_m_d_views' and type='V')
drop view c_m_d_views
go
create view c_m_d_views
as
select class.bjbh as 班级编号,major.zybh as 专业编号,major.yxbh as 院系编号,class.bjjc as 班级简称,class.rxnf as 入学年份,class.bjrs as 班级人数,major.zymc as 专业名称,department.yxmc as 院系名称
from
class left outer join major on class.zybh=major.zybh left outer join department on major.yxbh=department.yxbh
go
select * from c_m_d_views
go
if exists(select name from sysobjects where name='p_addclass' and type='P')
drop procedure p_addclass
go
create procedure p_addclass
(@bjbh varchar(10),
@zybh varchar(10),
@bjjc varchar(50),
@rxnf varchar(20),
@bjrs int)
as
insert into class(bjbh,zybh,bjjc,rxnf,bjrs)
values(@bjbh,@zybh,@bjjc,@rxnf,@bjrs)
go
exec p_addclass '7','2','法2','2006',32
go
select * from c_m_d_views
go
--分离database
use master
go
--分离数据库
exec sp_detach_db test
GO
--还原数据库
CREATE DATABASE test1
ON PRIMARY (FILENAME = 'D:\Program Files\Microsoft SQL Server\MSSQL\Data\test_data.mdf')
FOR attach
GO
--分页1
use test
go
if exists(select name from sysobjects where type='p' and name='pageindex')
drop procedure pageindex
go
create procedure pageindex
(
@pagesize int,
@page int,
@zybh varchar(10)
)
as
begin
SET nocount ON
declare @tableindex table(id int identity(1,1),sid varchar(10))
declare @pagelowerbound int
declare @pageupperbound int
set @pagelowerbound=(@page-1)*@pagesize
set @pageupperbound=@pagelowerbound+@pagesize
if @zybh<>''
insert into @tableindex(sid) select bjbh from class where zybh = @zybh order by BJBH
else
insert into @tableindex(sid) select bjbh from class order by BJBH
select * from class inner join @tableindex as a on class.bjbh=a.sid where id>@pagelowerbound and id<=@pageupperbound and class.zybh=@zybh
--select rc=@@rowcount
set nocount off
end
GO
select * from class
go
exec pageindex @pagesize=3,@page=1,@zybh='1'
GO
--分页2
if exists(select name from sysobjects where type='P' and name='pagination3')
drop procedure pagination3
go
CREATE PROCEDURE pagination3
(
@tblName varchar(255), -- 表名
@strGetFields varchar, -- 需要返回的列
@fldName varchar(255), -- 排序的字段名
@PageSize int, -- 页尺寸
@PageIndex int = 1, -- 页码
@doCount bit, -- 返回记录总数, 非 0 值则返回
@OrderType bit, -- 设置排序类型, 非 0 值则降序
@strWhere varchar(1500) -- 查询条件 (注意: 不要加 where)
)
AS
declare @strSQL varchar(5000) -- 主语句
declare @strTmp varchar(110) -- 临时变量
declare @strOrder varchar(400) -- 排序类型
if @doCount != 0
begin
if @strWhere <>''
set @strSQL = 'select + count(*) as Total from [' + @tblName + '] where' +@strWhere
else
set @strSQL = 'select count(*) as Total from [' + @tblName + ']'
end
--以上代码的意思是如果@doCount传递过来的不是0,就执行总数统计。以下的所有代码都是@doCount为0的情况:
else
begin
if @OrderType != 0
begin
set @strTmp = '<(select min'
set @strOrder = ' order by [' + @fldName +'] desc'
--如果@OrderType不是0,就执行降序,这句很重要!
end
else
begin
set @strTmp = '>(select max'
set @strOrder = ' order by [' + @fldName +'] asc'
end
if @PageIndex = 1
begin
if @strWhere != ''
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ '
from [' + @tblName + '] where ' + @strWhere + ' ' + @strOrder
else
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ '
from ['+ @tblName + '] '+ @strOrder
--如果是第一页就执行以上代码,这样会加快执行速度
end
else
begin
--以下代码赋予了@strSQL以真正执行的SQL代码
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from ['
+ @tblName + '] where [' + @fldName + ']' + @strTmp + '(['+ @fldName + '])
from (select top ' + str((@PageIndex-1)*@PageSize) + ' ['+ @fldName + ']
from [' + @tblName + ']' + @strOrder + ') as tblTmp)'+ @strOrder
if @strWhere != ''
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from ['
+ @tblName + '] where [' + @fldName + ']' + @strTmp + '(['
+ @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' ['
+ @fldName + '] from [' + @tblName + '] where ' + @strWhere + ' '
+ @strOrder + ') as tblTmp) and ' + @strWhere + ' ' + @strOrder
end
end
go
--exec (@strSQL)
举报本文链接:http://user.qzone.qq.com/183481361/blog/15
数据库编程2
--title1
use test
go
if exists(select name from sysobjects where name='xscjzb' and type='U')
drop table xscjzb
go
if exists(select name from sysobjects where name='xj_yxjjbxx' and type='U')
drop table xj_yxjjbxx
go
if exists(select name from sysobjects where name='class' and type='U')
drop table class
go
if exists(select name from sysobjects where name='major' and type='U')
drop table major
go
if exists(select name from sysobjects where name='department' and type='U')
drop table department
go
create table department
(yxbh varchar(10) not null primary key,
yxmc varchar(50),
)
go
create table major
(zybh varchar(10) not null primary key,
zymc varchar(50),
yxbh varchar(10) not null constraint fk_major_department foreign key references department(yxbh) on update cascade)
go
create table class
(bjbh varchar(10) not null primary key,
bjjc varchar(50),
rxnf varchar(20) not null default '2006',
bjrs int,
zybh varchar(10) not null constraint fk_class_major foreign key references major(zybh) on update cascade)
go
create table xj_yxjjbxx
(xh varchar(10) not null primary key,
xm varchar(50),
xb varchar(2),
bjbh varchar(10) not null constraint fk_class1 foreign key references class(bjbh) on update cascade)
go
create table xscjzb
(xnxqh varchar(11) not null,
xh varchar(20) not null,
kcbm varchar(11) not null,
ksxzcode varchar(10) not null,constraint pk_lld primary key(xnxqh,xh,kcbm,ksxzcode),
zcj money)
go
insert into department values('01','电子与信息工程学院')
insert into department values('02','教务处')
go
insert into major values('1','计算机科学与技术','01')
insert into major values('2','外国语学院','02')
insert into major values('3','电子','01')
go
insert into class values('0201','计1','2006',35,'1')
insert into class values('0202','计2','2006',32,'1')
insert into class values('0203','计3','2006',36,'1')
insert into class values('0204','电1','2006',32,'3')
insert into class values('0205','电1','2006',29,'3')
insert into class values('0206','英1','2006',30,'2')
go
insert into xj_yxjjbxx values('20020300','邱磊','男','0203')
insert into xj_yxjjbxx values('20020301','邱磊1','男','0203')
insert into xj_yxjjbxx values('20020302','邱磊2','男','0203')
insert into xj_yxjjbxx values('20020303','邱磊3','男','0203')
insert into xj_yxjjbxx values('20020304','张三','男','0201')
insert into xj_yxjjbxx values('20020305','张三1','男','0201')
insert into xj_yxjjbxx values('20020306','张三2','男','0201')
insert into xj_yxjjbxx values('20020307','张三3','男','0201')
insert into xj_yxjjbxx values('20020308','李四','男','0202')
insert into xj_yxjjbxx values('20020309','李四1','男','0202')
insert into xj_yxjjbxx values('20020310','王五','男','0206')
insert into xj_yxjjbxx values('20020311','王五1','男','0206')
insert into xj_yxjjbxx values('20020312','王五2','男','0206')
insert into xj_yxjjbxx values('20020313','王五3','男','0206')
insert into xj_yxjjbxx values('20020314','王五','男','0206')
if exists(select name from sysobjects where name='c_m_d_views' and type='V')
drop view c_m_d_views
go
create view c_m_d_views
as
select class.bjbh as 班级编号,major.zybh as 专业编号,major.yxbh as 院系编号,class.bjjc as 班级简称,class.rxnf as 入学年份,class.bjrs as 班级人数,major.zymc as 专业名称,department.yxmc as 院系名称
from
class left outer join major on class.zybh=major.zybh left outer join department on major.yxbh=department.yxbh
go
select * from c_m_d_views
go
if exists(select name from sysobjects where name='p_addclass' and type='P')
drop procedure p_addclass
go
create procedure p_addclass
(@bjbh varchar(10),
@zybh varchar(10),
@bjjc varchar(50),
@rxnf varchar(20),
@bjrs int)
as
insert into class(bjbh,zybh,bjjc,rxnf,bjrs)
values(@bjbh,@zybh,@bjjc,@rxnf,@bjrs)
go
exec p_addclass '7','2','法2','2006',32
go
select * from c_m_d_views
go
--分离database
use master
go
--分离数据库
exec sp_detach_db test
GO
--还原数据库
CREATE DATABASE test1
ON PRIMARY (FILENAME = 'D:\Program Files\Microsoft SQL Server\MSSQL\Data\test_data.mdf')
FOR attach
GO
--分页1
use test
go
if exists(select name from sysobjects where type='p' and name='pageindex')
drop procedure pageindex
go
create procedure pageindex
(
@pagesize int,
@page int,
@zybh varchar(10)
)
as
begin
SET nocount ON
declare @tableindex table(id int identity(1,1),sid varchar(10))
declare @pagelowerbound int
declare @pageupperbound int
set @pagelowerbound=(@page-1)*@pagesize
set @pageupperbound=@pagelowerbound+@pagesize
if @zybh<>''
insert into @tableindex(sid) select bjbh from class where zybh = @zybh order by BJBH
else
insert into @tableindex(sid) select bjbh from class order by BJBH
select * from class inner join @tableindex as a on class.bjbh=a.sid where id>@pagelowerbound and id<=@pageupperbound and class.zybh=@zybh
--select rc=@@rowcount
set nocount off
end
GO
select * from class
go
exec pageindex @pagesize=3,@page=1,@zybh='1'
GO
--分页2
if exists(select name from sysobjects where type='P' and name='pagination3')
drop procedure pagination3
go
CREATE PROCEDURE pagination3
(
@tblName varchar(255), -- 表名
@strGetFields varchar, -- 需要返回的列
@fldName varchar(255), -- 排序的字段名
@PageSize int, -- 页尺寸
@PageIndex int = 1, -- 页码
@doCount bit, -- 返回记录总数, 非 0 值则返回
@OrderType bit, -- 设置排序类型, 非 0 值则降序
@strWhere varchar(1500) -- 查询条件 (注意: 不要加 where)
)
AS
declare @strSQL varchar(5000) -- 主语句
declare @strTmp varchar(110) -- 临时变量
declare @strOrder varchar(400) -- 排序类型
if @doCount != 0
begin
if @strWhere <>''
set @strSQL = 'select + count(*) as Total from [' + @tblName + '] where' +@strWhere
else
set @strSQL = 'select count(*) as Total from [' + @tblName + ']'
end
--以上代码的意思是如果@doCount传递过来的不是0,就执行总数统计。以下的所有代码都是@doCount为0的情况:
else
begin
if @OrderType != 0
begin
set @strTmp = '<(select min'
set @strOrder = ' order by [' + @fldName +'] desc'
--如果@OrderType不是0,就执行降序,这句很重要!
end
else
begin
set @strTmp = '>(select max'
set @strOrder = ' order by [' + @fldName +'] asc'
end
if @PageIndex = 1
begin
if @strWhere != ''
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ '
from [' + @tblName + '] where ' + @strWhere + ' ' + @strOrder
else
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ '
from ['+ @tblName + '] '+ @strOrder
--如果是第一页就执行以上代码,这样会加快执行速度
end
else
begin
--以下代码赋予了@strSQL以真正执行的SQL代码
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from ['
+ @tblName + '] where [' + @fldName + ']' + @strTmp + '(['+ @fldName + '])
from (select top ' + str((@PageIndex-1)*@PageSize) + ' ['+ @fldName + ']
from [' + @tblName + ']' + @strOrder + ') as tblTmp)'+ @strOrder
if @strWhere != ''
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from ['
+ @tblName + '] where [' + @fldName + ']' + @strTmp + '(['
+ @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' ['
+ @fldName + '] from [' + @tblName + '] where ' + @strWhere + ' '
+ @strOrder + ') as tblTmp) and ' + @strWhere + ' ' + @strOrder
end
end
go
--exec (@strSQL)
发表评论
-
目标计划
2008-10-13 00:29 1010忙碌了两个月,主要几件事是,离职,找工作,找房子,接 ... -
[经典笑话] 绝对经经典,从一个女大学生手机里发现的
2008-07-16 11:47 15071、 士兵问连长:作战时踩到地雷咋办?连长大为恼火:*,能咋办 ... -
工作经验2.5年,想换个工作,请大家帮忙看看,能找个什么样的工作和薪水
2008-06-19 00:40 1740小弟从2006年3月份工作开始,到现在已经经历了2年 ... -
回想过去-学习内容
2008-06-15 05:21 1124今晚心情一直不好,又让我想起过去的伤心的事情,心很 ... -
[转]30岁前不要在乎的事
2008-05-25 22:36 987发表于:2008年5月8日 22时45分46秒本文链接:htt ... -
25岁的爱情!
2008-05-25 22:31 988发表于:2008年4月8日 23 ... -
忘记人的方法
2008-05-25 22:28 1124发表于:2007年6月27日 17 ... -
10分钟让你懂得基金(FOUND)是什么
2008-05-25 22:27 1331发表于:2007年6月11日 11时23分36秒本文链接:ht ... -
随感~~
2008-05-25 22:26 1056发表于:2007年6月5日 20时16分9秒本文链接:http ... -
发展抉择~~~~
2008-05-25 22:22 1539发展抉择~~~~~ 发表于:2006年11月13日 13时47 ... -
我的学习过程(一)
2008-05-25 22:21 979发表于:2006年10月18日 13时19分26秒 举报本文链 ... -
学习Java的30个基本概念
2008-05-25 22:18 774发表于:2006年10月13日 12时16分44秒本文链接:h ... -
人的一生
2008-05-25 22:17 817本文链接:http://user.qzone.qq.com/1 ... -
多项选择脚本
2008-05-25 22:15 819发表于:2006年10月26日 10时32分57秒本文链接 ... -
心情札记
2008-05-25 22:14 838发表于:2006年10月30日 14时19分22秒本文链接:h ... -
个人理想
2008-05-25 22:11 990发表于:2006年11月1日 17时14分29秒 本文链接:h ... -
总结与计划
2008-05-19 00:30 929从刚工作的时候(2006年初)到现在,已经有2年多时 ... -
迷茫中
2008-04-29 14:37 659毕业到现在,将要 ...
相关推荐
《PHP程序设计案例教程 第2版》课件—13PHP+MYSQL数据库编程2.pdf《PHP程序设计案例教程 第2版》课件—13PHP+MYSQL数据库编程2.pdf《PHP程序设计案例教程 第2版》课件—13PHP+MYSQL数据库编程2.pdf《PHP程序设计案例...
我从网上找到的,我做成了CHM文档,供大家阅读方便。 数据库技术初步 ODBC基本概念 ADO对象访问模型 ... ADO与ODBC的区别 ... 在Visual C++中用ADO进行数据库编程2 在Visual C++中用ADO进行数据库编程3
本资源"VB数据库编程"深入浅出地探讨了如何使用VB与各种数据库进行交互,包括基本概念、API调用、连接管理以及复杂的查询操作。下面我们将详细探讨其中的关键知识点。 1. 数据库连接:在VB中,我们通常使用ADO...
数据库编程是IT领域中的核心部分,它涉及到如何设计、创建、维护和操作数据库,以便有效地存储和检索数据。本文将深入探讨数据库编程的关键概念、技术和最佳实践。 首先,我们需要理解数据库的基本构造。数据库是一...
在IT领域,网络编程和数据库编程是两个至关重要的分支,它们是构建现代应用程序的基础。本资源包主要关注C#语言在网络编程方面的应用,同时也涵盖了数据库编程的一些基础。 首先,让我们深入了解一下C#中的网络编程...
在IT领域,数据库编程是构建高效应用程序不可或缺的一部分。VC++(Visual C++)是一种功能强大的集成开发环境,常用于创建Windows应用程序。与ACCESS数据库结合,可以实现数据存储、管理和交互的功能。本篇将深入...
编程之道ASP数据库编程入门
在VC++ 6.0中,可以使用多种技术进行数据库编程,其中包括ODBC API编程、MFC ODBC编程、DAO数据库编程以及OLE DB客户数据库编程。下面将详细介绍这些技术。 ODBC API编程是一种使用Open Database Connectivity API...
这份"Oracle数据库编程pdf文档教案"提供了从基础到高级的Oracle学习路径,通过5天的学习内容,帮助读者深入理解并掌握Oracle数据库的使用。 在Oracle数据库编程中,首先会涉及到SQL(结构化查询语言),这是与...
介绍如何使用vc操作数据库 第1章 数据库原理与访问 第2章 COM与数据库访问 第3篇 高级话题 第4章 VC++数据库开发基础 第5章 ODBC API编程 第6章 MFC ODBC编程 第7章 DAO数据库编程 第8章 ...
针对数据库编程始终是程序设计语言的一个重要方面的内容,也是一个难点。数据库编程的内容十分丰富,但最为基本编程的也就是那么几点,譬如:连接数据库、得到需要的数据和针对数据记录的浏览、删除、修改、插入等...
MFC Access 数据库编程第 2 篇实例篇知识点总结 本书籍主要介绍了 MFC Access 数据库编程的实践应用,旨在帮助读者掌握 ODBC、DAO、OLE DB 和 ADO 等数据库访问技术。通过实例介绍这些技术的应用,使读者能够更好地...
C#数据库编程实战经典《国外计算机科学经典教材:C#数据库编程实战经典》既包含数据库编程的基础知识,又分析和探讨数据库编程的技术,既适用于学生和初学者,也适用于富有经验的程序员。通过完整的示例项目,详细...
【VC++数据库编程总结】 在IT领域,尤其是软件开发中,数据库编程是不可或缺的一部分,尤其在使用VC++作为开发工具时。VC++可以与多种数据库系统进行交互,如SQL Server、Oracle等,通过不同的访问技术实现数据的...
在Access数据库应用中,VBA(Visual Basic for Applications)数据库编程是开发高效、实用的数据库应用程序的关键技术。VBA利用Microsoft Jet数据库引擎作为基础,该引擎是一组动态链接库(DLL),在运行时与VBA程序...
在“Accp8.0\S2\使用Java实现数据库编程 第二章”这一主题中,我们聚焦于如何利用Java语言进行数据库编程。这通常涉及到Java的JDBC(Java Database Connectivity)技术,它是Java平台的标准接口,允许Java应用程序...
数据库编程总结 数据库编程总结 数据库编程总结
《Visual C++数据库编程技术与实例》是一本深入探讨如何使用Microsoft Visual C++进行数据库编程的专业书籍,由沈炜著。这本书旨在帮助开发者理解和掌握在C++环境下与数据库交互的各种技术和方法,尤其针对Visual ...
在Linux操作系统中,数据库编程是一项核心技能,尤其对于软件开发者和系统管理员而言。"Linux数据库编程"这个主题涵盖了如何在Linux环境下与各种数据库系统进行交互,包括但不限于MySQL、PostgreSQL、Oracle、...
本案例"Java数据库编程案例2"着重于讲解如何在Java环境中与各种数据库进行交互,包括建立连接、执行SQL语句、处理结果集以及关闭连接等核心操作。下面我们将深入探讨相关知识点。 首先,Java数据库连接(JDBC)是...