在DAL中读取数据
//---------------------------------------------------------------------------------
/// <summary>
/// DataPage分页
/// </summary>
/// <param name="startRowIndex"></param>
/// <param name="maximumRows"></param>
/// <returns></returns>
public static IList<memo> GetMemoPage(int startRowIndex, int maximumRows)
{
//------------Row_Number()只能在sql2005以及更高版本使用--------------
string sql = "SELECT * FROM " +
"(SELECT MemoId, Memocontent, Row_Number()over(Order By MemoId)rownum FROM dbo.memo)t " +
"WHERE t.rownum> " + startRowIndex + " and t.rownum<= " + startRowIndex + "+" + maximumRows;
List<memo> list = new List<memo>();
using (DataTable dt = DBHelper.GetDataSet(sql))
{
foreach (DataRow row in dt.Rows)
{
memo me = new memo();
me.MemoId = (int)row["MemoId"];
me.Memocontent = (string)row["Memocontent"];
//me.Important=(int)row["Important"];
//me.Createtime=(DateTime)row["Createtime"];
list.Add(me);
}
}
return list;
}
/// <summary>
/// 读取数据库中有多少条数据
/// </summary>
/// <returns></returns>
public static int QueryCount()
{
string sql = "SELECT COUNT(*) FROM memo";
int result = DBHelper.GetScalar(sql);
return result;
}
web
这里值得注意的是 objectDataSource 会自动生成部分标签,一定要删掉
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" EnablePaging="True"
OldValuesParameterFormatString="original_{0}" SelectMethod="GetMemoPage"
TypeName="BLL.memoManager" SelectCountMethod="QueryCount">
</asp:ObjectDataSource>
<asp:ListView ID="ListView1" runat="server" DataKeyNames="MemoId"
DataSourceID="ObjectDataSource1">
<ItemTemplate>
<li><%# Eval("Memocontent") %></li>
</ItemTemplate>
<EmptyDataTemplate>
<table runat="server" style="">
<tr>
<td>
No data was returned.</td>
</tr>
</table>
</EmptyDataTemplate>
<LayoutTemplate>
<div>
<ul>
<li id="itemPlaceholder" runat="server"></li>
</ul>
</div>
<div>
<asp:DataPager ID="DataPager1" runat="server">
<Fields>
<asp:NextPreviousPagerField ButtonType="Button" ShowFirstPageButton="True"
ShowLastPageButton="True" />
</Fields>
</asp:DataPager>
</div>
</LayoutTemplate>
</asp:ListView>