У меня есть таблица в базе данных Oracle, и я передаю один параметр u_id
из моего приложения на C # в хранимую процедуру Oracle для извлечения данных, основанных на u_id
, но, если это значение, передается u_id
непосредственно в мой сохраненныйЗатем запустите процедуру и получите правильные данные, но всякий раз, когда я передаю значение u_id
из своего приложения на C # и связываю эти данные с сеткой, он отображает все записи из таблицы, вы можете проверить это вснимок экрана ниже:
Извлекает правильные данные в запросе Oracle:
Запрос Oracle
, но отображаются все записи на странице:
неверные данные на странице
хранимая процедура Oracle:
create or replace procedure uspGetTrackByUID(u_id in varchar2,
p_out out sys_refcursor) as
begin
open p_out for
select *
from tblEmailTrack t
where t.flag = 'R'
and t.u_id = u_id;
end;
C # код:
private void OGetTrackByUID(string uid)
{
connection();
OracleCommand cmd = new OracleCommand("uspGetTrackByUID", ocon);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("u_id", uid.Trim());
cmd.Parameters.Add("p_out", OracleType.Cursor).Direction = ParameterDirection.Output;
try
{
ocon.Open();
grdTrack.EmptyDataText = "User haven't read the mail yet";
grdTrack.DataSource = cmd.ExecuteReader();
grdTrack.DataBind();
}
catch (Exception ex)
{
throw ex;
}
finally
{
ocon.Close();
ocon.Dispose();
}
}
Что может бытьвопрос?