配色: 字号:
web数据绑定控件之分页的两个方法
2013-04-26 | 阅:  转:  |  分享 
  
#region数据库分页通用存储过程

///

///数据库分页通用存储过程

///


///表名

///主键(关键字段)

///每页记录数

///要获取的页码

///序类型,0-升序,1-降序

///查询条件(注意:不要加where)

///总记录数

///

publicstaticDataTableGetRecordFromPage(stringtblName,stringfldName,intpageSize,intpageIndex,intorderType,stringstrWhere,refintoutput)

{

SqlConnectionconn=newSqlConnection(SQLHelper.CONN_STRING);

SqlCommandcmd=newSqlCommand("GetRecordFromPage",conn);



cmd.CommandType=CommandType.StoredProcedure;

cmd.Parameters.Add(newSqlParameter("@tblName",SqlDbType.VarChar,255));

cmd.Parameters.Add(newSqlParameter("@fldName",SqlDbType.VarChar,255));

cmd.Parameters.Add(newSqlParameter("@PageSize",SqlDbType.Int,4));

cmd.Parameters.Add(newSqlParameter("@PageIndex",SqlDbType.Int,4));

cmd.Parameters.Add(newSqlParameter("@OrderType",SqlDbType.Bit));

cmd.Parameters.Add(newSqlParameter("@strWhere",SqlDbType.VarChar,2000));

cmd.Parameters.Add(newSqlParameter("@rowTotal",SqlDbType.Int));



cmd.Parameters[0].Value=tblName;

cmd.Parameters[1].Value=fldName;

cmd.Parameters[2].Value=pageSize;

cmd.Parameters[3].Value=pageIndex;

cmd.Parameters[4].Value=orderType;

cmd.Parameters[5].Value=strWhere;

cmd.Parameters[6].Direction=ParameterDirection.Output;



try

{

conn.Open();

SqlDataAdapterda=newSqlDataAdapter(cmd);



DataSetds=newDataSet();

da.Fill(ds);



if(cmd.Parameters[6].Value!=DBNull.Value&&cmd.Parameters[6].Value.ToString()!=string.Empty)

output=Convert.ToInt32(cmd.Parameters[6].Value);



da.Dispose();

conn.Close();

conn.Dispose();

returnds.Tables[0];

}

catch

{

conn.Close();

returnnull;

}

finally

{

cmd.Dispose();

conn.Dispose();

}

}

#endregion



#regionSqlServer2005通用分页方法

///

///SqlServer2005通用分页方法

///


///表名

///每页记录数

///当前页数

///排序方式:0-正序1-倒序

///排序列名称

///查询条件

///总记录数

///

publicstaticDataSetGetRecordFromPageBySQL(stringp_TblName,intp_PageSize,intp_PageIndex,intp_OrderType,stringp_OrderColumnName,stringp_Condition,refintp_RecordCount)

{

string_SQL="SelectCount()From"+p_TblName+"Where1=1"+p_Condition;

p_RecordCount=int.Parse(ExecuteScalar(_SQL).ToString());

StringBuilder_SB=newStringBuilder();

_SB.Append("SELECT");

_SB.Append("FROM");

_SB.Append("(SELECTROW_NUMBER()OVER(ORDERBY"+p_OrderColumnName+""+(p_OrderType==1?"DESC":"ASC")+")");

_SB.Append("ASOrderRank,FROM"+p_TblName+"Where1=1"+p_Condition+")");

_SB.Append("ASRank");

_SB.Append("WHEREOrderRankBETWEEN"+((p_PageIndex-1)p_PageSize+1)+"AND"+p_PageIndexp_PageSize+"");

_SB.Append("ORDERBY"+p_OrderColumnName+""+(p_OrderType==1?"DESC":"ASC")+"");





SqlConnectioniConn=newSqlConnection(CONN_STRING);

SqlCommandiCommand=newSqlCommand(_SB.ToString(),iConn);





DataSetds=newDataSet();

try

{

iConn.Open();

using(SqlDataAdapteriDa=newSqlDataAdapter(iCommand))

{

iDa.Fill(ds);



returnds;

}

}

catch(Exception_Ex)

{

throw_Ex;

}

finally

{

iConn.Close();

iCommand.Dispose();

iConn.Dispose();

}

}

#endregion
献花(0)
+1
(本文系Honey_Dry首藏)