PDA

View Full Version : ارور Enumeration Yielded No Results



pro_gra_mmer_irani
سه شنبه 15 خرداد 1397, 00:39 صبح
سلام دوستان عزیز خسته نباشید
من به تازگی به یک مشکل عجیب برخوردم
من وقتی میخام ازاستور پورسیجرم که در sql ایجاد کردم توی سی شارپ استفاده بکنم به این مشکل بر میخورم
"Enumeration yielded no results"

حین برنامه این ارور رو میده
در ضمن sql هم با برنامم هست ( Local DB )
و همچنین این استور پورسیجر رو وقتی کوئری اجراش رو مینویسم توی sql هیچ مشکلی نداره و جواب میده

اینم از دستور Store :

CREATE PROCEDURE Search_Users
@Code_Meli nvarchar (12),
@First_Name nvarchar (25),
@Last_Name nvarchar (30)
AS
if(exists(select * from dbo.Table_User where @Code_Meli like CodeMeli or @First_Name like FirstName or @Last_Name like LastName ))
begin
declare @ID int;
select @ID = [UID] from dbo.Table_User where CodeMeli = @Code_Meli or FirstName = @First_Name or LastName = @Last_Name
return @ID
end
else
return -1;


اینم از اون متدی که اطلاعات رو استور پورسیجر میخونه :

if (conec.State != ConnectionState.Open) conec.Open();
SqlCommand command = new SqlCommand();
SqlDataReader sqlStore;

command.CommandText = NameSP;
command.CommandType = CommandType.StoredProcedure;
command.Parameters.AddRange(ParamsArrays);
command.Connection = conec;

sqlStore = command.ExecuteReader(CommandBehavior.Default);

return sqlStore;

ممنون میشم راهنمایی بکنید...

danialafshari
سه شنبه 15 خرداد 1397, 01:06 صبح
با سلام
در فسمت سمت سی شارپ فکر کنم اشتباه نوشتید و چون گفتید Sql کار میکنه دیگه بررسیش نمیکنم
توی CommandText که نوشتید NameSP باید اسم پروسیجر رو که Search_Users هست بنویسید و یا شاید از Parameter متد میگیرید که توی این کد معلوم نیست و معلوم نیست دارید چطور ارش استفاده میکنید و بجای AddRange با AddWithValue تست کنید و باز هم مشخص نیست که ParamsArrays چی هست یعنی از کلمه کلیدی Params استفاده کردید؟
متد رو کامل و طریقه استفادش رو هم قرار بدید تا بهتر بشه راهنمایی کرد
موفق باشید