将数据返回到c#

时间:2016-01-27 17:00:23

标签: c# oracle

我对Oracle完全是绿色的,我正在寻找从Oracle DB调用和检索数据的最佳实践。

在C#中,我可以这样做......

    OracleCommand cmd = new OracleCommand();
    cmd.Connection = conn;
    cmd.CommandText = "SELECT * FROM MyTable WHERE id = 3";
    cmd.CommandType = CommandType.Text; 
    OracleDataReader dr = cmd.ExecuteReader();
    dr.Read();
    string lastName = dr.Get<string>("A_Field_1");

但是我想在Oracle中创建一个存储过程以返回数据表。 例如“Select * from MyTable”。

在Oracle中创建存储过程是一种更好的做法,可能是在我的代码库中使用函数还是在行中?

我更愿意创建一个存储过程,但我正在努力完成这个简单任务所需的语法。

1 个答案:

答案 0 :(得分:5)

最佳做法是在C#中创建存储过程而不是使用动态SQL。在您的情况下,您可以创建一个这样的简单过程;

create procedure myproc (prc out sys_refcursor)
is
begin
   open prc for SELECT * FROM MyTable WHERE id = 3
end;

然而,正如Klaudiusz指出的那样,也可以使用某种ORM。