ODP.NET 为 SELECT 语句实现游标

ODP.NET Implement Cursor for SELECT statement

如何使用 ODP.NET 在基本 SELECT statement like 'SELECT * FROM Employees' 上实现简单的游标提取?

所以这很简单。

首先像这样创建OracleConnectionclass

OracleConnection con = new OracleConnection(ConfigurationManager.ConnectionStrings["connectionstring"].ConnectionString);

con.Open();  //opens connection

然后你首先定义和 OracleCommand 实例,方法是传递原始 query/stored 过程作为第一个参数,如

因此在您的特定情况下,它将是 OracleCommand cmd = new OracleCommand("SELECT * FROM Employees", con

if (con.State == ConnectionState.Open)
{
using (OracleCommand cmd = new OracleCommand(<query>/<stored proc>, con))
{    
cmd.CommandType = CommandType.StoredProcedure;  //in case of stored proc
cmd.BindByName = true;

OracleDataReader reader;
try
  {
    reader = cmd.ExecuteReader();    
    while(reader.Read())
    {
        Console.WriteLine("field: {0}", reader.GetDecimal(0));  
    }    
  }
catch (OracleException e)
  {
  foreach (OracleError err in e.Errors)
    {
       //print errors         
     }
   }
 con.Close(); 
 con.Dispose();
}
}

这里是例子http://www.oracle.com/technetwork/articles/dotnet/williams-refcursors-092375.html