大家好,最近遇到一个c#中调用oracle分页的问题,断点后发现一处没有跳进去。具体如下,新手
public DataSet GetDataByPage_lwp(string StrSql, int PageSize, int PageIndex, out int TotalCount)
{
OracleConnection conn = new OracleConnection(ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString.ToString());
OracleCommand cmd = new OracleCommand();
// OracleConnection conn = new OracleConnection(connectionString);
// OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.StoredProcedure;
conn.Open(); cmd.CommandText = "DFKC_LWP_PAGE";//包名 cmd.Parameters.Add("p_PageSize", OracleDbType.Int32, 10);//分页大小
cmd.Parameters.Add("p_PageNo", OracleDbType.Int32, 10);//页码
cmd.Parameters.Add("p_SqlSelect", 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_SqlSelect"].Value = StrSql;
cmd.Parameters["p_OutRecordCount"].Direction = ParameterDirection.Output;
cmd.Parameters["DataSet"].Direction = ParameterDirection.Output; try
{
OracleDataAdapter ODAdapter = new OracleDataAdapter(cmd);
DataSet dataset = new DataSet();
ODAdapter.Fill(dataset);
TotalCount = int.Parse(cmd.Parameters["p_OutRecordCount"].Value.ToString());
return dataset; } catch (OracleException e)
{
//throw(e);
} TotalCount = 0;
return null;
}
public DataSet GetDataByPage_lwp(string StrSql, int PageSize, int PageIndex, out int TotalCount)
{
OracleConnection conn = new OracleConnection(ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString.ToString());
OracleCommand cmd = new OracleCommand();
// OracleConnection conn = new OracleConnection(connectionString);
// OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.StoredProcedure;
conn.Open(); cmd.CommandText = "DFKC_LWP_PAGE";//包名 cmd.Parameters.Add("p_PageSize", OracleDbType.Int32, 10);//分页大小
cmd.Parameters.Add("p_PageNo", OracleDbType.Int32, 10);//页码
cmd.Parameters.Add("p_SqlSelect", 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_SqlSelect"].Value = StrSql;
cmd.Parameters["p_OutRecordCount"].Direction = ParameterDirection.Output;
cmd.Parameters["DataSet"].Direction = ParameterDirection.Output; try
{
OracleDataAdapter ODAdapter = new OracleDataAdapter(cmd);
DataSet dataset = new DataSet();
ODAdapter.Fill(dataset);
TotalCount = int.Parse(cmd.Parameters["p_OutRecordCount"].Value.ToString());
return dataset; } catch (OracleException e)
{
//throw(e);
} TotalCount = 0;
return null;
}
就直接跳出来了, return null.其中sql语句和存储过程都没有错误(以前一直用的存储过程),不知道哪位大侠帮忙解释一下原因。新手谢谢!