Oracle存储过程访问,Oracle数据分页

本文详细介绍了如何通过C#访问Oracle的存储过程,包括参数设置、执行存储过程及获取输出参数的方法,并提供了Oracle分页查询的实现方式。

//访问Oracle的存储过程并获取返回结果

using (OracleConnection cn = new OracleConnection(ConnectionStringLocalTransaction))
{
OracleParameter[] parameters ={
new OracleParameter("p_table_name",OracleType.VarChar,40), //输入参数
new OracleParameter("p_succ",OracleType.VarChar,20) //输出参数,必须跟存储过程里的一样
};
parameters[0].Value = "Value"; //输入参数的值
parameters[0].Direction = ParameterDirection.Input; //设置为输入参数
parameters[1].Direction = ParameterDirection.Output; //设置为输出参数
string queryString = "processing"; //存储过程名
OracleCommand cmd = new OracleCommand(queryString, cn);  
cmd.CommandType = CommandType.StoredProcedure;
foreach (OracleParameter parameter in parameters)
{
cmd.Parameters.Add(parameter);
}
cn.Open();
cmd.ExecuteNonQuery();
string ss = cmd.Parameters["p_succ"].Value.ToString();
cn.Close();
}

 

//注:也可以分离开来,将赋值完的参数  传递到 数据库访问层去    (string spname, string rtvaluename, params OracleParameter[] commandParameters)

 



//获取 字符串长度中文占2个 int s=System.Text.Encoding.GetEncoding("gb2312").GetByteCount(day.Trim());

 

//Oracle分页(每次只取区间,因为一般使用Oracle数据量肯定很大,所以不可能一次取出所有数据)

select * from (select rownum q,t.* from (select * from tb1) t) t2 where q between 1 and 15)

 

具体格式

SELECT * FROM 
(
SELECT A.*, ROWNUM RN
FROM (SELECT * FROM TABLE_NAME) A
WHERE ROWNUM <= 40
)
WHERE RN >= 21

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值