设为首页 加入收藏

TOP

Oracle利用存储过程性实现分页(二)
2014-11-23 17:56:19 来源: 作者: 【 】 浏览:108
Tags:Oracle 利用 存储 过程性 实现
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
首页 上一页 1 2 3 4 5 下一页 尾页 2/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇关于oracle的备份导入 下一篇JDBC读取Oracle的US7ASCII编码中..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: