优点:字段较少,有增删改查功能,不过查询太笼统。
缺点:
1.不算是在很正的无限分类,ClassPath这个字段定义限制。
2.主键CLASSID不是自增的,使用CODESMITH批量生成多层架构代码中会导致出错。
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ArticleClass]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[ArticleClass]
GO
CREATE TABLE [dbo].[ArticleClass] (
[ClassID] [int] IDENTITY (1, 1) NOT NULL ,--主键(注:非标识)
[ClassName] [nvarchar] (50) COLLATE Chinese_Taiwan_Stroke_CI_AS NOT NULL,--分类名称
[ParentID] [int] NOT NULL ,--父分类ID(默认值0)
[ClassPath] [nvarchar] (1000) COLLATE Chinese_Taiwan_Stroke_CI_AS NOT NULL ,--分类路径
[ClassDepth] [int] NOT NULL ,--分类深度(默认值0)
[ClassOrder] [int] NOT NULL ,--分排序(默认值0)
[ClassDescription] [nvarchar] (1000) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL ,--分类说明
[iSystem] [int] NULL --是否是系统默认分类
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[ArticleClass] ADD
CONSTRAINT [DF_ArticleClass_ParentID] DEFAULT (0) FOR [ParentID],
CONSTRAINT [DF_ArticleClass_ClassDepth] DEFAULT (0) FOR [ClassDepth],
CONSTRAINT [DF_ArticleClass_ClassOrder] DEFAULT (0) FOR [ClassOrder],
CONSTRAINT [DF_ArticleClass_iSystem] DEFAULT (0) FOR [iSystem],
CONSTRAINT [PK_ArticleClass] PRIMARY KEY CLUSTERED
(
[ClassID]
) ON [PRIMARY]
GO
exec sp_addextendedproperty N'MS_Description', N'主键(非标识)', N'user', N'dbo', N'table', N'ArticleClass', N'column', N'ClassID'
GO
exec sp_addextendedproperty N'MS_Description', N'分类名称', N'user', N'dbo', N'table', N'ArticleClass', N'column', N'ClassName'
GO
exec sp_addextendedproperty N'MS_Description', N'父分类ID', N'user', N'dbo', N'table', N'ArticleClass', N'column', N'ParentID'
GO
exec sp_addextendedproperty N'MS_Description', N'分类路径', N'user', N'dbo', N'table', N'ArticleClass', N'column', N'ClassPath'
GO
exec sp_addextendedpr
1. 查看数据库的版本
select @@version
2. 查看数据库所在机器操作系统参数
exec master..xp_msver
3. 查看数据库启动的参数
sp_configure
4 ......
在开发不论是WEB还是Winform程序中,数据分页是经常遇到的问题,要是在代码中实现此过程,显然降低了服务器的效率,可以使用以下存储过程来实现。
CREATE PROCEDURE pagination
@tblName varchar(255), -- 表名
@strGetFields varchar(1000) = '*', -- 需要返回的列
@fldName varchar(255)= ......