PDA

View Full Version : خطا در کد حذف با استفاده از پروسیجر



ERIKA
جمعه 02 مهر 1389, 21:54 عصر
با سلام
من با دستور پروسیجر یک کدی برای حذف به این صورت نوشتم


if DataModule1.TInsertInfoFood.IsEmpty then Application.MessageBox('موردی برای حذف وجود ندارد ','ÎØÇ',MB_OK+MB_ICONERROR)
else
if messagedlg('ایا مایل به حذف رویداد موردنظر هستید؟',mtConfirmation,[MByes,MBno],4)=mryes then
begin
DataModule1.SPDeletetInfoFood.Parameters[1].Value:=DBEdit6.Text;

DataModule1.SPDeletetInfoFood.ExecProc;
DataModule1.SPDeletetInfoFood.Requery();

end;پروسیجر ای هم که هست اینه:


CREATE PROCEDURE [delete_T_Food]
@FoId bigint

AS
DELETE T_Food

WHERE
@FoId=FoId
GO
پیغام خطایی که می دهد این است

project pro.exe raised exeption class EListError with message 'list index out of bunds(1)'.دوستان میشه لطف کنند بفرمایید مشکل از کجاست؟
ممنون

Mahmood_M
جمعه 02 مهر 1389, 22:57 عصر
پیغام خطا رو روی کدوم خط نمایش میده ، شاید شماره ی Index مربوط به پارامتر رو اشتباه می نویسید ، توجه کنید که Index برای Parameters از صفر شروع میشه ، شاید مشکل از قطعه کد زیر باشه :

DataModule1.SPDeletetInfoFood.Parameters[1].Value:=DBEdit6.Text;

اگر اولین پارامتر مدنظر هست باید مقدار 0 رو قرار بدید :

DataModule1.SPDeletetInfoFood.Parameters[0].Value:=DBEdit6.Text;


موفق باشید ...

ERIKA
شنبه 03 مهر 1389, 17:12 عصر
با سلام و تشکر
بله فیلد مورد نظر توی جدول من اولی
وقتی دکمه حذف را می زنم اینبار به bunds(0) ایراد میگیره ؟

پیغام خطا هم میاد توی یونیت ای که یونیت اصلی پروژه است روی end مربوط به آن قرار می گیرد.

ERIKA
دوشنبه 05 مهر 1389, 22:55 عصر
دوستان نظر دیگری ندارد؟