PDA

View Full Version : مشکل چند select در پروسیجر



mhamedm2008
پنج شنبه 13 فروردین 1394, 16:51 عصر
باس لام به دوستان عزیز
من وقتی یک دستور select در پروسیجر استفاده می کنم مشکلی در خروجی آن ندارم. حال اومدم پروسیجر زیر رو نوشتم و باز هم زمانی که isread = 1 مشکلی ندارم.
ولی اگر isread برابر 0 باشه خروجی اررور میگیره که نام ستون mozoo وجود نداره.
احتمال میدم که بار اول پروسیجر select آخری رو که شامل body و mozoo رو بر نمی گردونه.باید چی کار کنم؟؟؟

alter proc sp_ADV_loud_payam
@ID_ADV int
as
begin
declare @isread bit
select @isread = isread from adv where ID_ADV=@ID_ADV

if @isread = 0
begin
update adv set isread = 1, ReadDate = 5
where ID_ADV=@ID_ADV
end

select body,mozoo from adv where ID_ADV=@ID_ADV
end

En_MK
پنج شنبه 13 فروردین 1394, 18:49 عصر
شما میتونی یه print screen از یه select از table برامون بذارید؟:متفکر:

alireza_s_84
پنج شنبه 13 فروردین 1394, 19:10 عصر
باس لام به دوستان عزیز
من وقتی یک دستور select در پروسیجر استفاده می کنم مشکلی در خروجی آن ندارم. حال اومدم پروسیجر زیر رو نوشتم و باز هم زمانی که isread = 1 مشکلی ندارم.
ولی اگر isread برابر 0 باشه خروجی اررور میگیره که نام ستون mozoo وجود نداره.
احتمال میدم که بار اول پروسیجر select آخری رو که شامل body و mozoo رو بر نمی گردونه.باید چی کار کنم؟؟؟

alter proc sp_ADV_loud_payam
@ID_ADV int
as
begin
declare @isread bit
select @isread = isread from adv where ID_ADV=@ID_ADV

if @isread = 0
begin
update adv set isread = 1, ReadDate = 5
where ID_ADV=@ID_ADV
end

select body,mozoo from adv where ID_ADV=@ID_ADV
end
خروجی شما در کجاست؟؟؟ توی خود Sql Server و یا در محیط برنامه نویسی؟؟؟
ظاهرا پروسیجر شما مشکلی نداره و احتمال میدم توی کدهاتون ایراد داشته باشین

mhamedm2008
پنج شنبه 13 فروردین 1394, 20:23 عصر
کد های برنامه من مشکلی نداره. به خاطر این میگم که اگر پارامتر من isread = 1 باشه و شرط توی پروسیجر اجرا نشه، هیچ مشکلی نداره و خروجی رو بدون مشکل اجرا میکنه. ولی اگر isread = 0 باشه و شرط در پروسیجر برقرار بشه و دستور update اجرا بشه، خروجی رو ظاهرا ارسال نمی کنه و از ستون mozoo توی برنامه با پیغام زیر خطا می گیره

item cannot be found in the connection corosoling to the requsted name or ordinal


این هم اسکرین شات از تیبل

129971




ویرایش
نمی دونم چه ربطی داشت ولی جای mozoo و body رو عوش کردم درست شد

select mozoo,body from adv where ID_ADV=@ID_ADV