本节主要对数据库进行设置:

软件中所使用的数据库为MS SqlServer2000,建立一个数据库Books,并在库中建立两个数据表:

用户表:

ASP.NET2.0网站开发(2)数据库设置CREATE TABLE [dbo].[USERTAB] (
ASP.NET2.0网站开发(2)数据库设置    
[XH] [int] IDENTITY (11NOT NULL ,
ASP.NET2.0网站开发(2)数据库设置    
[DLMC] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
ASP.NET2.0网站开发(2)数据库设置    
[YHMC] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
ASP.NET2.0网站开发(2)数据库设置    
[YHKL] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL 
ASP.NET2.0网站开发(2)数据库设置
ON [PRIMARY]
ASP.NET2.0网站开发(2)数据库设置
GO

此表只是做为测试表,有一个主键,没有索引,字段依次为:序号、登录名称、用户名称、用户口令,在用户登录时,将在此表中查询用户的资料,如果为合法用户则登录,反之提示错误。在实际使用过程中,可以使用MD5、SHA1等方式对口令进行加密处理。

图书资料表:

ASP.NET2.0网站开发(2)数据库设置CREATE TABLE [dbo].[BOOKS] (
ASP.NET2.0网站开发(2)数据库设置    
[ID] [int] IDENTITY (11NOT NULL ,
ASP.NET2.0网站开发(2)数据库设置    
[MC] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
ASP.NET2.0网站开发(2)数据库设置    
[CBS] [nvarchar] (60) COLLATE Chinese_PRC_CI_AS NULL ,
ASP.NET2.0网站开发(2)数据库设置    
[DJ] [money] NOT NULL ,
ASP.NET2.0网站开发(2)数据库设置    
[NRTY] [nvarchar] (2000) COLLATE Chinese_PRC_CI_AS NULL ,
ASP.NET2.0网站开发(2)数据库设置    
[TP] [image] NULL 
ASP.NET2.0网站开发(2)数据库设置
ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
ASP.NET2.0网站开发(2)数据库设置
GO
ASP.NET2.0网站开发(2)数据库设置
ASP.NET2.0网站开发(2)数据库设置 
CREATE  INDEX [IX_BOOKS] ON [dbo].[BOOKS]([MC]ON [PRIMARY]
ASP.NET2.0网站开发(2)数据库设置
GO
ASP.NET2.0网站开发(2)数据库设置

此表中存放保存的图书资料,字段依次为:序号、图书名称、出版社、定价、内容提要、图片。

根据个人的习惯,我将数据的操作以存储过程的方式保存的数据库中,这样做可以将开发过程中易出现问题地方单独调试,在保证数据库没有错误的前提下,尽可能简单的在代码中进行开发,并且在大数据量的情况下,以存储过程的方式进行查询能获得最佳查询速度。

ASP.NET2.0网站开发(2)数据库设置CREATE PROCEDURE dbo.Books_AddValue
ASP.NET2.0网站开发(2)数据库设置    
@mc        NVARCHAR(20),
ASP.NET2.0网站开发(2)数据库设置    
@cbs    NVARCHAR(60),
ASP.NET2.0网站开发(2)数据库设置    
@dj        MONEY,
ASP.NET2.0网站开发(2)数据库设置    
@nrty    NVARCHAR(2000),
ASP.NET2.0网站开发(2)数据库设置    
@tp        IMAGE
ASP.NET2.0网站开发(2)数据库设置
AS
ASP.NET2.0网站开发(2)数据库设置    
INSERT INTO dbo.BOOKS (
ASP.NET2.0网站开发(2)数据库设置        MC,
ASP.NET2.0网站开发(2)数据库设置        CBS,
ASP.NET2.0网站开发(2)数据库设置        DJ,
ASP.NET2.0网站开发(2)数据库设置        NRTY,
ASP.NET2.0网站开发(2)数据库设置        TP
ASP.NET2.0网站开发(2)数据库设置    ) 
VALUES ( 
ASP.NET2.0网站开发(2)数据库设置        
@mc,
ASP.NET2.0网站开发(2)数据库设置        
@cbs,
ASP.NET2.0网站开发(2)数据库设置        
@dj,
ASP.NET2.0网站开发(2)数据库设置        
@nrty,
ASP.NET2.0网站开发(2)数据库设置        
@tp
ASP.NET2.0网站开发(2)数据库设置        )
ASP.NET2.0网站开发(2)数据库设置        
ASP.NET2.0网站开发(2)数据库设置    
RETURN
ASP.NET2.0网站开发(2)数据库设置
ASP.NET2.0网站开发(2)数据库设置
GO
ASP.NET2.0网站开发(2)数据库设置
ASP.NET2.0网站开发(2)数据库设置
CREATE PROCEDURE dbo.Books_Delete
ASP.NET2.0网站开发(2)数据库设置    
@id    INT
ASP.NET2.0网站开发(2)数据库设置
AS
ASP.NET2.0网站开发(2)数据库设置    
DELETE FROM dbo.BOOKS
ASP.NET2.0网站开发(2)数据库设置        
WHERE dbo.BOOKS.ID = @id

ASP.NET2.0网站开发(2)数据库设置    
RETURN
ASP.NET2.0网站开发(2)数据库设置
ASP.NET2.0网站开发(2)数据库设置
GO
ASP.NET2.0网站开发(2)数据库设置
ASP.NET2.0网站开发(2)数据库设置
CREATE PROCEDURE dbo.Books_GetValue
ASP.NET2.0网站开发(2)数据库设置    
@id    INT
ASP.NET2.0网站开发(2)数据库设置
AS
ASP.NET2.0网站开发(2)数据库设置    
SELECT
ASP.NET2.0网站开发(2)数据库设置        dbo.BOOKS.ID,
ASP.NET2.0网站开发(2)数据库设置        dbo.BOOKS.MC,
ASP.NET2.0网站开发(2)数据库设置        dbo.BOOKS.CBS,
ASP.NET2.0网站开发(2)数据库设置        dbo.BOOKS.DJ,
ASP.NET2.0网站开发(2)数据库设置        dbo.BOOKS.NRTY,
ASP.NET2.0网站开发(2)数据库设置        dbo.BOOKS.TP
ASP.NET2.0网站开发(2)数据库设置    
FROM dbo.BOOKS
ASP.NET2.0网站开发(2)数据库设置    
WHERE dbo.BOOKS.ID = @id

ASP.NET2.0网站开发(2)数据库设置    
RETURN
ASP.NET2.0网站开发(2)数据库设置
ASP.NET2.0网站开发(2)数据库设置
ASP.NET2.0网站开发(2)数据库设置
GO
ASP.NET2.0网站开发(2)数据库设置
ASP.NET2.0网站开发(2)数据库设置
CREATE PROCEDURE dbo.Books_GetValues
ASP.NET2.0网站开发(2)数据库设置
AS
ASP.NET2.0网站开发(2)数据库设置    
SELECT
ASP.NET2.0网站开发(2)数据库设置        dbo.BOOKS.ID,
ASP.NET2.0网站开发(2)数据库设置        dbo.BOOKS.MC,
ASP.NET2.0网站开发(2)数据库设置        dbo.BOOKS.CBS,
ASP.NET2.0网站开发(2)数据库设置        dbo.BOOKS.DJ,
ASP.NET2.0网站开发(2)数据库设置        dbo.BOOKS.NRTY
ASP.NET2.0网站开发(2)数据库设置    
FROM dbo.BOOKS
ASP.NET2.0网站开发(2)数据库设置    
ORDER BY dbo.BOOKS.ID
ASP.NET2.0网站开发(2)数据库设置    
RETURN
ASP.NET2.0网站开发(2)数据库设置
ASP.NET2.0网站开发(2)数据库设置
GO
ASP.NET2.0网站开发(2)数据库设置
ASP.NET2.0网站开发(2)数据库设置
CREATE PROCEDURE dbo.Books_Update
ASP.NET2.0网站开发(2)数据库设置    
@id        INT,
ASP.NET2.0网站开发(2)数据库设置    
@mc        NVARCHAR(20),
ASP.NET2.0网站开发(2)数据库设置    
@cbs    NVARCHAR(60),
ASP.NET2.0网站开发(2)数据库设置    
@dj        MONEY,
ASP.NET2.0网站开发(2)数据库设置    
@nrty    NVARCHAR(2000),
ASP.NET2.0网站开发(2)数据库设置    
@tp        IMAGE
ASP.NET2.0网站开发(2)数据库设置
AS
ASP.NET2.0网站开发(2)数据库设置    
UPDATE dbo.BOOKS SET
ASP.NET2.0网站开发(2)数据库设置        dbo.BOOKS.MC
=@mc,
ASP.NET2.0网站开发(2)数据库设置        dbo.BOOKS.CBS 
= @cbs,
ASP.NET2.0网站开发(2)数据库设置        dbo.BOOKS.DJ 
= @dj,
ASP.NET2.0网站开发(2)数据库设置        dbo.BOOKS.NRTY 
= @nrty,
ASP.NET2.0网站开发(2)数据库设置        dbo.BOOKS.TP 
= @tp
ASP.NET2.0网站开发(2)数据库设置    
WHERE dbo.BOOKS.ID = @id

ASP.NET2.0网站开发(2)数据库设置    
RETURN
ASP.NET2.0网站开发(2)数据库设置
ASP.NET2.0网站开发(2)数据库设置
GO
ASP.NET2.0网站开发(2)数据库设置
ASP.NET2.0网站开发(2)数据库设置
CREATE PROCEDURE dbo.User_GetValue
ASP.NET2.0网站开发(2)数据库设置    
@dlmc    NVARCHAR(20)
ASP.NET2.0网站开发(2)数据库设置
AS
ASP.NET2.0网站开发(2)数据库设置    
SELECT
ASP.NET2.0网站开发(2)数据库设置        dbo.USERTAB.XH,
ASP.NET2.0网站开发(2)数据库设置        dbo.USERTAB.DLMC,
ASP.NET2.0网站开发(2)数据库设置        dbo.USERTAB.YHMC,
ASP.NET2.0网站开发(2)数据库设置        dbo.USERTAB.YHKL
ASP.NET2.0网站开发(2)数据库设置    
FROM dbo.USERTAB
ASP.NET2.0网站开发(2)数据库设置    
WHERE dbo.USERTAB.DLMC = @dlmc

ASP.NET2.0网站开发(2)数据库设置    
RETURN
ASP.NET2.0网站开发(2)数据库设置
ASP.NET2.0网站开发(2)数据库设置
GO

在SqlServer中与Oracle相比较而言,返回数据还是很简单的,在Oracle中需要使用游标等操作方式,才能返回数据集。如果查询的数据量很大,如表中有千万级,那么在查询时,最好只返回你当前需要的数据,比如一页。当然了,合适的索引、行列分区都是不可少的。

数据库内的代码就列出这么多,下一节开始对与数据库关联的数据类进行开发。

 

相关文章: