问题描述
大家好,我在学习.net下oracle数据库查询问题,下面一个方法看不懂,哪位大侠稍微帮忙介绍一下!谢谢publicstaticDataSetGetDataByPage_lwp(stringStrSql,intPageSize,intPageIndex,outintTotalCount){using(OracleConnectionconn=newOracleConnection(connectionString)){using(OracleCommandcmd=newOracleCommand()){//OracleConnectionconn=newOracleConnection(connectionString);//OracleCommandcmd=newOracleCommand();cmd.Connection=conn;cmd.CommandType=CommandType.StoredProcedure;conn.Open();cmd.CommandText="DWMS_PAGE.sp_Page";//包名cmd.Parameters.Add("p_PageSize",OracleDbType.Int32,10);//分页大小cmd.Parameters.Add("p_PageNo",OracleDbType.Int32,10);//页码cmd.Parameters.Add("p_SqlSelec",OracleDbType.Varchar2,3000);//sql语句cmd.Parameters.Add("p_OutRecordCount",OracleDbType.Int32,10);//返回得记录总数cmd.Parameters.Add("DataSet",OracleDbType.RefCursor);//返回得记录集cmd.Parameters["p_PageSize"].Value=PageSize;cmd.Parameters["p_PageNo"].Value=PageIndex;cmd.Parameters["p_SqlSelec"].Value=StrSql;cmd.Parameters["p_OutRecordCount"].Direction=ParameterDirection.Output;cmd.Parameters["DataSet"].Direction=ParameterDirection.Output;try{OracleDataAdapterODAdapter=newOracleDataAdapter(cmd);DataSetdataset=newDataSet();ODAdapter.Fill(dataset);TotalCount=int.Parse(cmd.Parameters["p_OutRecordCount"].Value.ToString());returndataset;}catch(OracleExceptione){//throw(e);}TotalCount=0;returnnull;}}}
解决方案
解决方案二:
OracleConnection是连接OracleCommand是执行命令的Parameters是参数都是基本的数据库操作类,你自己看帮助或google资料
解决方案三:
其实就是个存储过程分页的方法DWMS_PAGE.sp_Page这个就是存储过程传3个参数进去,返回得记录总数OutRecordCount