ايران ويج

نسخه‌ی کامل: errorدرinsert
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام
درهنگام insertداده هايم ارورزيربرخودرمي كنم
procedure or function 'Ins_TBLPersonal'expects parameter"@ID",which was not supplied
procedureمورداستفاده شده ام هم اينست
كه هم save مي كندوهم
کد php:
create procedure Ins_TBLPersonal
(
@
ID int,
@
FName nvarchar(50),
@
LName nvarchar(50),
@
NPersonal nvarchar(50),
@
Tel int,
@
ReturnID int output
)
as
begin
if(exists(selectfrom TBLPersonal where ID=@ID))
begin
update TBLPersonal
set FName
=@FName,
LName=@LName,
NPersonal=@NPersonal,
Tel=@Tel
where ID
=@ID
select 
@ReturnID=@ID
end
begin
insert TBLPersonal
select 
@FName,@LName,@NPersonal,@Tel
select 
@ReturnID=SCOPE_IDENTITY()
end 
پارامتر ID مقدار دهی نشده است در هنگام اجرای دستور .
میتونی جلوی ID@ مقدار پیش فرض بزاری مثلا 0=ID@
(۰۶-اردیبهشت-۱۳۸۹, ۲۰:۳۵:۰۵)esmaeily-hosein نوشته است: [ -> ]پارامتر ID مقدار دهی نشده است در هنگام اجرای دستور .
میتونی جلوی ID@ مقدار پیش فرض بزاری مثلا 0=ID@
سلام
باتشكر
كجاكدبايدقراربدهم
کد:
create procedure Ins_TBLPersonal
(
@ID int = 0 ,
@FName nvarchar(50),
@LName nvarchar(50),
@NPersonal nvarchar(50),
@Tel int,
@ReturnID int output
)
as
begin
if(exists(select* from TBLPersonal where ID=@ID))
begin
update TBLPersonal
set FName=@FName,
LName=@LName,
NPersonal=@NPersonal,
Tel=@Tel
where ID=@ID
select @ReturnID=@ID
end
begin
insert TBLPersonal
select @FName,@LName,@NPersonal,@Tel
select @ReturnID=SCOPE_IDENTITY()
end
سلام
ازگفته شمااستفاده كردم بازهم ارورشكل زيررخ داد
سلام
اگر می خواهید تابعتون اینجوری یک مقدار برگردونه باید یک مقدار رو return کنید ولی ایت تابع شما اصلا return نداره.ساختارش باید کمی تغییر کنه
من در جریان تابعتون نیستم که بخوام دقیق کمکتون کنم اما توی یک نگاه فکر میکنم اگه آخر تابع @ReturnID v رو return کنید مشکل حل شه.
کد:
Return @ReturnID
اگر درجریان تابع نبودم و مشکلت حل نشد مارو ببخش
دوست عزیز از پارامتر output به این شکل استفاده نمیشه .
ابتدا بایستی یک پارامتر به نام ReturnID تعریف کنی در لایه Application
سپس Direction اونو به Output تغییر بدی بعد از اجرا با استفاده از Property Value پارامتر میتونی به اون مقدار دست پیدا کنی
مثال

راه ساده تر استفاده از
Select @ReturnID که در داخل مقدار بازگشتی ExecuteScaller قرار میگیرد .