|
ing()
{
fenye();
}
public Paging(string connectionString,string tableName, string fields, string wherecase, int pageSize, int pageNow, string orderField, int orderFlag, out int myRows, out int myPageCount, out DataTable result)
{
_connectionString = connectionString;
_tableName = tableName;
_fields = fields;
_whercase = wherecase;
_pageSize = pageSize;
_pageNow = pageNow;
_orderField = orderField;
_orderFlag = orderFlag;
fenye();
myRows = _myRows;
myPageCount = _myPageCount;
result = _result;
}
private void fenye()
{
OracleConnection conn = new OracleConnection(_connectionString);
conn.Open();
try
{
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.StoredProcedure;
//调用存储过程查询数据
cmd.CommandText = "fenye";
OracleParameter[] parameters = new OracleParameter[10];
//注意这里的参数名和类型号与存储过程里面的一样
parameters[0] = new OracleParameter("tableName", OracleType.VarChar);
parameters[1] = new OracleParameter("fields", OracleType.VarChar);
parameters[2] = new OracleParameter("wherecase", OracleType.VarChar);
parameters[3] = new OracleParameter("pageSize", OracleType.Int32);
parameters[4] = new OracleParameter("pageNow", OracleType.Int32);
parameters[5] = new OracleParameter("orderField", OracleType.VarChar);
parameters[6] = new OracleParameter("orderFlag", OracleType.Int32);
parameters[7] = new OracleParameter("myrows", OracleType.Int32);
parameters[8] = new OracleParameter("myPageCount", OracleType.Int32);
parameters[9] = new OracleParameter("p_cursor", OracleType.Cursor);
parameters[0].Value = _tableName;
parameters[1].Value = _fields;
parameters[2].Value = _whercase;
parameters[3].Value = _pageSize;
parameters[4].Value = _pageNow;
parameters[5].Value = _orderField;
parameters[6].Value = _orderFlag;
parameters[7].Direction = ParameterDirection.Output;
parameters[8].Direction = ParameterDirection.Output;
parameters[9].Direction = ParameterDirection.Output;
foreach (OracleParameter parameter in parameters)
{
cmd.Parameters.Add(parameter);
}
//执行命令
OracleDataAdapter oda = new OracleDataAdapter(cmd);
DataSet ds = new DataSet();
oda.Fill(ds);
//得到查询结果表
_result = ds.Tables[0];
//取出总行数
_myRows = Convert.ToInt32(parameters[7].Value);
//取出总页数
_myPageCount = Convert.ToInt32(parameters[8].Value.ToString());
}
catch (Exception ex)
{
throw;
}
finally
{
conn.Close();
}
}
}
在数据库建立好存储过程之后
在C#控制台创建类包 Paging
建立好了之后 输出 这边给出一个示例
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.OracleClient;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
/*
string connString = "Data Source=server1;Persist Security Info=True;User ID=s227;Password=123;Unicode=True";
string queryString = "SELECT * FROM PRODUCT ";
OracleConnection conn = new OracleConnection(connString);
conn.Open();
OracleCommand command = new OracleCommand(queryString,conn);
OracleDataReader reader = command.ExecuteReader();
reader.Read();
Console.WriteLine("1 "+reader["MAKER"]+" 2 "+reader["MODEL"]+" 3 "+reader["TYPE"]);
reader.Close();
conn.Close();
*/
/*
* //学习的代码块
string connectionString;
string queryString;
connectionString = "Data Source=202.200.136.125/orcl |