|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
数据库有很多应用领域,但是如果你单单学数据库的话基本上做数据库管理员比较合适而已,跟领域结合的你还得再学习那些领域知识。(其实数据挖掘我真是不懂,本来这学期开了一门课了。asp.net|存储历程|分页|技能我不是一个很有履历的程序员,在做项目标过程当中会碰到良多的成绩,在数据库中利用分页就是我做项目中碰到的一个成绩.我从网上查了良多材料,有良多种办法.但我觉的创立一时数据表是最复杂的办法,在我做Membership扩大时发明本来微软也是如许用的,你可一任意翻开一个Membership的存储历程看看.
说了再多也没用,只需看看代码就分明了,呵呵.
1CREATEPROCEDUREdbo.CreateSimple
2(
3@PageIndexint,
4@PageSizeint
5)
6AS
7BEGIN
8--界说三个变量:
9--@PageLowerBound:所掏出纪录的上限.
10--@PageUpperBound:所要掏出纪录的下限.
11--@TotalRecords:前往纪录总数,次要用于页面的盘算.
12DECLARE@PageLowerBoundint
13DECLARE@PageUpperBoundint
14DECLARE@TotalRecordsint
15
16--盘算高低限的值.
17SET@PageLowerBound=@PageIndex*@PageSize
18SET@PageUpperBound=@PageLowerBound+@PageSize-1
19
20--创立一时表:
21--IndexId是标识,主动增加1;
22--SimpleId由数据表[Simple]添补;
23CREATETABLE#PageIndexForSimple
24(
25IndexIdintidentity(0,1)NOTNULL,
26SimpleIdint
27)
28--添补一时表
29INSERTINTO#PageIndexForSimple(SimpleId)
30SELECTs.[SimpleId]
31FROM[Simple]s
32--这里能够加WHEREcondition和ODERBY语句
33
34--获得纪录总数,实在影响行数就是纪录总数
35SELECT@TotalRecords=@@ROWCOUNT
36
37--猎取我们所要的纪录.
38SELECTs.*
39FROM[Simple]s,#PageIndexForSimplep
40WHEREs.[SimpleId]=p.[SimpleId]
41ANDp.[IndexId]>=@PageLowerBound
42ANDP.[IndexId]<=@PageUpperBound
43ORDERBYs.[Simple]
44
45--前往纪录总数.
46RETURE@TotalRecords
47END由下面的正文就可以看懂了,呵呵,既然写到这里也把程序的代码写出来:
1PublicList<Simple>GetSimple(intpageIndex,intpageIndex,outinttotalRecords){
2List<Simple>entity=newList<Simple>();
3SqlParameter[]param=newSqlParameter[]{
4newSqlParameter("@PageIndex",SqlDbType.Int),
5newSqlParameter("@PageSize",SqlDbType.Int),
6newSqlParameter("@ReturnValue",SqlDbType.Int),
7};
8param[0].Value=pageIndex;
9param[1].Value=pageSize;
10param[2].Direction=ParameterDirection.ReturnValue;
11SqlDataReaderreader=SqlHelper.ExecuteReader(CommandType.StoredProcedure,"GetSimple",param);
12While(reader.Read()){
13entity.Add(GetSimpleEntity(reader))
14}
15reader.Close();
16try{
17totalRecords=(int)param[2].Value;
18}catch{}
19returnentity;
20}下面的一些函数是本人写的:
SqlHelper类:简化数据库查询类.
GetSimpleEntity(SqlDataReaderreader):因为常常在项目中会用到好基本实体类的猎取,以是独自写一个公有函数,以便重用;
值得注重的是猎取总的纪录数时大概范例为DbNull而招致毛病.一般的指的.net就是跟java相对的那种,主要是做企业级应用的。你如果想学这个,主要就是学C#和数据库。(ASP.NET好像很重要的,应该也要学的,ASP.NET上好像可以结合VB和C#等多种语言,但是微软主推C#) |
|