2013-06-04 22 views
1

如何獲取值讀取值線DataReader的讀取由多在下面的代碼返回到設置的值在Class在小巧玲瓏使用的DataReader與Oracle

OracleRefCursor m_Cursor=null; 
Dapper.SqlMapper.GridReader multi =null; 

using (m_Conn = new OracleConnection(m_ConnectionString)) 
{ 
    try 
    { 
      m_Conn.Open(); 
      String m_LastName = "S" + "%"; 
      String m_Id = ""; 
      String m_EmpId = ""; 

      var p = new OracleDynamicParameters(); 

      p.Add(":p_LastName", m_LastName); 
      p.Add(":p_Id", m_Id); 
      p.Add(":p_EmpId", m_EmpId);     
      p.Add(":p_Cursor1", dbType: OracleDbType.RefCursor, direction: ParameterDirection.Output); 


      using (multi = m_Conn.QueryMultiple(m_ProcedureName, param: p, commandType: CommandType.StoredProcedure)) 
      {       

      } 
    } 
    catch (Exception ex) 
    { 
      String m_Error = ex.ToString(); 
    } 

}//end of using statement 
+0

您是否正在使用當前的代碼獲取任何錯誤?你是否省略了multi.Read調用或者沒有實現它? – Michael

回答

0

從小巧玲瓏docs字段的值:

var sql = 
@" 
select * from Customers where CustomerId = @id 
select * from Orders where CustomerId = @id 
select * from Returns where CustomerId = @id"; 

using (var multi = connection.QueryMultiple(sql, new {id=selectedId})) 
{ 
    var customer = multi.Read<Customer>().Single(); 
    var orders = multi.Read<Order>().ToList(); 
    var returns = multi.Read<Return>().ToList(); 
    ... 
}