PDA

View Full Version : اجرا نشدن StoredProcedure



el_abdollahi
جمعه 21 دی 1386, 19:37 عصر
سلام.
من توی گزارشم از دو تا SP برای رد کردن داده ها از بانک به گزارش استفاده کرده ام .
یک SP کار انتقال داده ها رو انجام میده و یکی دیگه عکس مربوط به سر صفحه رو انتقال میده . (عکس به صورت باینری توی جدول است .)
مشکل اینجاست که اگر Sp اول داده ای رو انتقال نده ( داده ای برای انتقال وجود نداشته باشه ). SP دوم هم عکس رو نمیاره . در صورتی که داده براش وجود داره !!!
نمیدونم چرا ؟ لطفا راهنمایی کنید .

sinpin
جمعه 21 دی 1386, 20:34 عصر
سلام.
من توی گزارشم از دو تا SP برای رد کردن داده ها از بانک به گزارش استفاده کرده ام .
یک SP کار انتقال داده ها رو انجام میده و یکی دیگه عکس مربوط به سر صفحه رو انتقال میده . (عکس به صورت باینری توی جدول است .)
مشکل اینجاست که اگر Sp اول داده ای رو انتقال نده ( داده ای برای انتقال وجود نداشته باشه ). SP دوم هم عکس رو نمیاره . در صورتی که داده براش وجود داره !!!
نمیدونم چرا ؟ لطفا راهنمایی کنید .

دقیق متوجه نشدم ولی آیا با transaction حل نمیشه ؟
کد SP هاتون رو کاش میزاشتید.

el_abdollahi
شنبه 22 دی 1386, 09:46 صبح
من نمیدونم transaction یعنی چه ؟
این از SP که داده ها رو میاره :

CREATE PROCEDURE R_Chart @search nvarchar(1000)
AS
declare @str nvarchar(4000)
set @str='select tbl_chart.c_id ''کد'', c_name ''عنوان چارت سازمانی'', c_address ''آدرس'', c_tel ''شماره تماس'', c_fax ''دورنگار'', c_email ''آدرس پست الکترونیکی''
, tbl_shahrestan.sh_name ''واقع در شهرستان'', c_build ''ساختمان'', c_room ''شماره اتاق'', s_name + '' '' +s_family as ''نام فرد مسئول'' from tbl_chart left join tbl_staff on tbl_chart.s_id2=tbl_staff.s_id left join tbl_shahrestan on tbl_shahrestan.sh_id=tbl_chart.sh_id '
set @str=@str+@search
exec sp_executesql @str
GO
من @search (+@search) رو از برنامه براش میفرستم .
این هم از Sp که عکس رو به گزارش پاس میده :

CREATE PROCEDURE Get_Picture AS
select b_logo from tbl_buyer
GO

مشکل اینجاست که اگر @search طوری باشه که دستور select رکوردی رو پیدا نکنه ,Sp دومی هم کار نمیکنه . یعنی عکسی برنمیگردونه .
لطفا کمک کنید .