C# Oracle 分页方法
来源:互联网 发布:淘宝上腊梅哪靠谱 编辑:程序博客网 时间:2024/06/06 16:34
方法很简单的 就不多说了.
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.OracleClient;
namespace Zgke.Data
{
public class ConnOra
{
/// <summary>
/// 连接语句
/// </summary>
public static OracleConnection OracleConn = new OracleConnection("Data Source=???;User ID=???;Password=???;Unicode=True");
/// <summary>
/// 获取分页数据
/// </summary>
/// <param name="p_SqlSelect">查询语句 Select * from 表</param>
/// <param name="p_KeyColumn">主键</param>
/// <param name="p_Order">排序方式 true:ASC false DESC</param>
/// <param name="p_PageSize">页大小</param>
/// <param name="p_PageIndex">页索引 1为开始索引</param>
/// <param name="p_RowCount">返回行数</param>
/// <param name="p_ErrorMessage">返回错误信息</param>
/// <returns>分页后结果,如果查询错误返回结果为new DataTable()</returns>
public static DataTable TablePage(string p_SqlSelect, string p_KeyColumn, bool p_Order, int p_PageSize, int p_PageIndex, ref int p_RowCount, ref string p_ErrorMessage)
{
DataTable _Table = new DataTable();
try
{
OracleDataAdapter _Adapter = new OracleDataAdapter("SELECT Count(*) FROM (" + p_SqlSelect + ")", OracleConn);
_Adapter.Fill(_Table);
p_RowCount = int.Parse(_Table.Rows[0][0].ToString());
_Table.Clear();
_Adapter.Dispose();
int _StarRowIndex = (p_PageIndex - 1) * p_PageSize + 1;
int _EndRowIndex = _StarRowIndex + p_PageSize;
string _SelectCommand = "SELECT * FROM (SELECT a.*, row_number() over(ORDER BY " + p_KeyColumn + " " + (p_Order ? "ASC" : "DESC") + ") rn FROM (" + p_SqlSelect + ") a) WHERE rn BETWEEN " + _StarRowIndex.ToString() + " AND " + _EndRowIndex.ToString();
OracleDataAdapter _AdapterData = new OracleDataAdapter(_SelectCommand, OracleConn);
_AdapterData.Fill(_Table);
_AdapterData.Dispose();
}
catch (OracleException _Ex)
{
p_ErrorMessage = _Ex.Message;
}
return _Table;
}
}
}
- C# Oracle 分页方法
- Oracle排序分页方法
- oracle分页显示方法
- Oracle分页方法
- oracle结果集分页方法
- oracle分页优化 ---- rowid方法
- oracle SQL 分页查询方法
- c# oracle 存储过程分页查询
- C#调用Oracle存储过程分页
- C#实现 ORACLE的分页功能
- C#调用Oracle存储过程分页
- C#调用Oracle存储过程分页
- C# - Oracle数据库连接方法
- C# - Oracle数据库连接方法
- C# - Oracle数据库连接方法
- C# - Oracle数据库连接方法
- C# - Oracle数据库连接方法
- C# 连接Oracle方法
- RHEL5下的mediawiki安装
- 获取计算机的名称(方法二)
- blog客户端
- API 测试(15)
- 可以让你少奋斗十年的工作经验
- C# Oracle 分页方法
- 中大型网站的服务器部署架构
- 不可增长堆中的0x7FFF8大小限制
- jquery 的 ajax 在 非阻塞 时返回 XMLHttpRequest
- PhD Schedule
- 初来乍到
- IPC简单介绍(一)消息队列
- 谁有QC的工具包,有的话麻烦给我丢一个吧
- Microsoft SQL 服务器的最佳实践,设计和开发准则