PDA

View Full Version : مشکل ارسال پارامتر به sp



hdv212
جمعه 26 مرداد 1386, 14:48 عصر
سلام و خسته نباشید.
من یه GridView دارم که شامل دکمه های select و delete است، همچنین یه formView که دارای دکمه های update , cancel هست، زمانی که رکوردی در gridView انتخاب میشه، اطلاعات اون در formView به نمایش در میاد، تا کاربر بتونه اطلاعات رو مرور و update کنه، همچنین از خود gridView و توسط دکمه ی delete، اون رکورد رو حذف کنه، منتها چون من عملیات update و delete رو در sp قرار دادم و توی ConfigureDataSource هر دوی formView و GridView در قسمت update و delete، گزینه ی storedProcedure رو انتخاب کردم و spهای مربوطه رو بهش دادم، زمانی که در runTime روی update کلیک میکنم هیچ عملی انجام نمیشه و همینطور زمانی هم که روی delete کلیک میکنم پیغام خطا به من میده که پارامتر مورد نظر برای sp فراهم نشده :

Procedure or Function 'sp_DeleteFromNews' expects parameter '@newsID', which was not supplied

چطوری پارامترها رو به sp مربوطه پاس بدم ؟

mahdi_farhani
جمعه 26 مرداد 1386, 20:03 عصر
دوست عزیز به نظر من Sp هات مشکل داره یه بار چک کن . اگر کد هم بزاری بهتر میتونم بت کمک کنم

hdv212
جمعه 26 مرداد 1386, 20:41 عصر
sp ها درست هستند، مشکل اینه که وقتی کلید Delete در GridView و یا Update در FormView رو میزنم، پارامترها چطوری به sp من پاس بشن، ولی با این حال کد sp رو هم میذارم، این مال update :

ALTER PROCEDURE sp_UpdateNews
@newsID int,
@newsDate varchar(10),
@newsTitle nvarchar(100),
@newsBody ntext,
@newsResource nvarchar(50)
AS
update t_news set newsDate=@newsDate,newsTitle=@newsTitle,newsBody=@ newsBody,newsResource=@newsResource where newsID=@newsID

و اینم واسه delete :


ALTER PROCEDURE sp_DeleteFromNews
@newsID int
AS
delete from t_news where newsID = @newsID

mahdi_farhani
جمعه 26 مرداد 1386, 21:05 عصر
خوب ، میشه کد برنامتو ببینم . اگر از SqlDataSource استفاده کردی ببین داخل قسمت DeleteQury پارامترت پاس داده شده . و از صحت Datakeys هم اطمینان پیدا کن ، چون به نظرم میرسه DataKey ارتباط داشته باشه ، من زیاد با SqlDataSource کار نکردم . اگر چیزی رو اشتباه بگم باید ببخشید .

hdv212
شنبه 27 مرداد 1386, 00:00 صبح
درسته، من از SqlDataSource استفاده کردم، ولی به غیر از تنظیم SP در بخش Update و Delete چیز دیگه ای تنظیم نکردم، این DataKey که میگی چیه ؟ با اون باید پارامتررو به sp پاس کنم ؟

mahdi_farhani
شنبه 27 مرداد 1386, 05:04 صبح
نه ، باید کلید جدولتو بش بدی ، همون newsID رو بش بده ، روی DataGrid یک خاصیت داره به نام DataKeys مقدار اونو قرار بده با NewsId

hdv212
شنبه 27 مرداد 1386, 12:56 عصر
دستت درد نکنه، مشکلم مربوط به Delete در دیتاگریدم همانطور که گفته بودی، حل شد، یعنی در بخش DataKeyNames، کلید جدول رو بهش دادم و درست شد، ولی هنوز مشکل با دکمه ی Update در FormView دارم، اصلا وقتی روش کلیک میکنم هیچ چیزی اتفاق نمی افته. اونو باید چکار کنم ؟

hdv212
شنبه 27 مرداد 1386, 21:16 عصر
کسی نبود به ما کمک کنه ؟

hdv212
یک شنبه 28 مرداد 1386, 11:33 صبح
آقا من فقط مشکلم با FormView هستش، نمیدونم چرا وقتی روی Update کلیک میکنم، هیچ اتفاقی نمی افته، اصلا هیچ PostBackای صورت نمیگیره، کسی نمیدونه مشکل کجاست ؟

hdv212
دوشنبه 29 مرداد 1386, 17:51 عصر
بابا یکی نیست با این FormView کار کرده باشه ؟ فقط میخوام بدونم چرا دکمه ی Update درون FormView من کار نمیکنه.

Arian_61
سه شنبه 30 مرداد 1386, 09:14 صبح
چرا تو همون GridView عمل Update فعال نمی کنی راحت تره !!!!!!!!