高分急求oracleDataReader 读取 REF CURSOR问题!
我在。net访问oracle数据库的时候遇到一个问题调用oracle的分页的存储过程时。可以访问到返回的数据值,但是在读取数据集时,可以读到数据集的字段,但是读不到数据集的值。
我在pl.sql中测试存储过程是没有问题的。
代码如下:
OracleCommand myCommand = new OracleCommand("Pk_search.Pk_search_Page", myConnection);
// Mark the Command as a SPROC
myCommand.CommandType = CommandType.StoredProcedure;
myCommand.Parameters.Add("p_PageSize", OracleType.Number).Value = pageSize;
myCommand.Parameters.Add("p_PageNo", OracleType.Number).Value = pageNo;
myCommand.Parameters.Add("p_SqlSelect", OracleType.NVarChar).Value = sqlSelect;
myCommand.Parameters.Add("p_SqlCount", OracleType.NVarChar).Value = sqlCount;
myCommand.Parameters.Add("p_OutCursor", OracleType.Cursor).Direction = ParameterDirection.Output;
myCommand.Parameters.Add("p_OutRecordCount", OracleType.Number).Direction = ParameterDirection.Output;
myConnection.Open();
using (OracleDataReader dr = myCommand.ExecuteReader())
{
StringCollection fiedlname = new StringCollection();
for (int i = 0; i < dr.FieldCount; i++)
{
fiedlname.Add(dr.GetName(i));
}
searchSet.TitleName = fiedlname;
searchSet.TotalRecords = Convert.ToInt32(myCommand.Parameters["p_OutRecordCount"].Value);
while (dr.Read())
searchSet.SearchList.Add(PopulateSearchResultFromIDataReader(dr, fiedlname));
}
myConnection.Close();
fiedlname ,TotalRecords 都能正确返回记录。
但是OracleDataReader hasrows=false
请问各位问题在哪里?
--------------------编程问答-------------------- 在线等,顶一下 --------------------编程问答-------------------- 顶一下 --------------------编程问答-------------------- 先执行dr.Read()),再判断hasrows --------------------编程问答-------------------- 帮顶 --------------------编程问答-------------------- 没看见你的 hasrows写在哪啊
补充:.NET技术 , ASP.NET