View Full Version : سوال: مشکل تو استفاده از AdoStoreProcedure
Arman_1367
سه شنبه 04 خرداد 1389, 17:02 عصر
با سلام
امروز داشتم رو برنامه خودم کار می کردم که تو اون در یک قسمت یک ADOProcedure دارم با 25 پارامتر و یک Procedure معادل در SQL Server 2008 نوشتم که کار آپدیت کردن اطلاعات یک جدول را برای من انجام می دهد.اما مشکلی که دارم اینه که در هنگام Exec کردن اون ADOProcedure با یک پیغام خطا مواجه می شدم که می گفت پارامتر با نام X مقدار خالی دارد جالب اینجاست که برای آن مقدار داده ام چه به صورت ثابت چه با متغییر ولی باز هم این خطا موجود است و جالب تر از آن اینکه این خطا در باره Procedure دیگری که با همین پارامترها برای درج در جدول نوشته ام موردی ندارد.
کسی از دوستان تا حالا با این مورد برخورد کرده؟
حسین شهریاری
سه شنبه 04 خرداد 1389, 20:45 عصر
چطوری پارامتر ارسال میکنین؟
یه نمونه دقیق از طریقه کارکردتون بنویسید تا بهتر به ماهیت مشکل پی ببریم.
Arman_1367
پنج شنبه 06 خرداد 1389, 07:43 صبح
با سلام این قسمتی از کد هست که به من ایراد می گیره :
with DataBase.UpdatePerson.Parameters do
begin
//new person
ParamByName('@UnicCode').Value:=FMelliCode;
ParamByName('@Name').Value:=PersonName;
ParamByName('@Family').Value:=Family;
ParamByName('@FatherName').Value:=FatherName;
ParamByName('@BurnDate').Value:=BurnDate;
ParamByName('@ShomareShenasname').Value:=ShomareSh enasname;
ParamByName('@Gender').Value:=Gender;
ParamByName('@HomeAddress').Value:=HomeAddress;
ParamByName('@WorkAddress').Value:=WorkAddress;
ParamByName('@HomePhone').Value:=HomePhone;
ParamByName('@WorkPhone').Value:=WorkPhone;
ParamByName('@Mobile').Value:=Mobile;
ParamByName('@OtherPhone').Value:=OtherPhone;
ParamByName('@Mail').Value:=Email;
ParamByName('@HomePostalCar').Value:=Self.PostalCo de;
ParamByName('@Marrid').Value:=MarridState;
ParamByName('@UnitedID').Value:=United;
ParamByName('@CityID').Value:=City;
ParamByName('@NatID').Value:=Natonalism;
ParamByName('@RelId').Value:=Religion;
ParamByName('@EduId').Value:=FEducation;
ParamByName('@WorkTitleId').Value:=WorkTitle;
//ParamByName('@Pic').
end;
DataBase.Update.ExecProc;
end;
و جالب تر اینکه من دقیقاً یک پروسه دیگه عین این کد را دارم.ولی در اون هیچ خطایی رخ نمی دهد.
ببینید :
with DataBase.NewPerson .Parameters do
begin
//new person
ParamByName('@UnicCode').Value:=FMelliCode;
ParamByName('@Name').Value:=PersonName;
ParamByName('@Family').Value:=Family;
ParamByName('@FatherName').Value:=FatherName;
ParamByName('@BurnDate').Value:=BurnDate;
ParamByName('@ShomareShenasname').Value:=ShomareSh enasname;
ParamByName('@Gender').Value:=Gender;
ParamByName('@HomeAddress').Value:=HomeAddress;
ParamByName('@WorkAddress').Value:=WorkAddress;
ParamByName('@HomePhone').Value:=HomePhone;
ParamByName('@WorkPhone').Value:=WorkPhone;
ParamByName('@Mobile').Value:=Mobile;
ParamByName('@OtherPhone').Value:=OtherPhone;
ParamByName('@Mail').Value:=Email;
ParamByName('@HomePostalCar').Value:=Self.PostalCo de;
ParamByName('@Marrid').Value:=MarridState;
ParamByName('@UnitedID').Value:=United;
ParamByName('@CityID').Value:=City;
ParamByName('@NatID').Value:=Natonalism;
ParamByName('@RelId').Value:=Religion;
ParamByName('@EduId').Value:=FEducation;
ParamByName('@WorkTitleId').Value:=WorkTitle;
//ParamByName('@Pic').
end;
DataBase.NewPerson.ExecProc;
خطا در پارامتر Gender هست که نمی دونم برای چی می گه مقدار Null هست.راستی این مسئله موقعی که پروسه را از SQl داخل خود Management Studio صدا می زنم رخ نمی دهد.
SYNDROME
پنج شنبه 06 خرداد 1389, 09:15 صبح
با سلام
یک بار با ADOQuery آن را Exec کن ببین باز هم خطا می دهد؟
موفق باشید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.