[C#] Работа с БД
msdn (С) 2005
SqlConnection conn = new SqlConnection("...");
SqlCommand cmd = new SqlCommand ("my_stored_proc", conn);
cmd.CommandType = CommandType.StoredProcedure;
SqlParametr par = cmd.parametrs.Add("@value", SqlDbType.Int]);
par.Direction = ParameterDirection.Output;
cmd.ExecutionNonQuery;
int rez = (int) par.Value;
Что мне надо изменить в этом коде, чтобы выходной параметр стал DataSet? (Естественно, rez я объявлю как DataSet )
DataAdapter.Fill
в ms sql для получения на выз\ходе рекордсета/датасета не нужно создавать out-параметры
На самом деле БД Oracle . Если я соединяюсь с БД через DataAdapter, то как мне привязать сюда мою хранимую процедуру?
ну тогда надо задать параметр ref cursor
ref cursor это тип в oracle! А в написанном коде мне что поменять?
procedure GetIRFList( pcr_List out sys_refcursor,
..................
)
is
begin
open pcr_List for
select IRF_ID, .... лалала
нужно добавить параметр с типом OracleType.Cursor и вызвать OracleDataAdapter.Fill.
OracleCommand)command).Parameters.Add("pcr_List", OracleType.Cursor).Direction = ParameterDirection.Output;
Кстати у тебя оракловый провайдер какой ?
DataSet ds = new DataSet;
SqlDataAdapter da = new SqlDataAdapter("exec Proc_Name",sql_conn);
da.Fill(ds);
мб для Oracle как нить так же ? :-)
Оставить комментарий
geja_03
Есть соединение с БД. Нужно выполнить хранимую в Бд процедуру (выходной параметр типа "DataSet") и поместить значение этого параметра в стандартный DataSet. Как?