امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
errorدرinsert
نویسنده پیام
iran58 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 153
موضوع‌ها: 115
تاریخ عضویت: خرداد ۱۳۸۸

تشکرها : 25
( 14 تشکر در 9 ارسال )
ارسال: #1
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 
۰۶-اردیبهشت-۱۳۸۹, ۱۴:۰۵:۲۱
ارسال‌ها
پاسخ
esmaeily-hosein آفلاین
كاربر دو ستاره
**

ارسال‌ها: 232
موضوع‌ها: 12
تاریخ عضویت: دى ۱۳۸۴

تشکرها : 6
( 91 تشکر در 46 ارسال )
ارسال: #2
RE: errorدرinsert
پارامتر ID مقدار دهی نشده است در هنگام اجرای دستور .
میتونی جلوی ID@ مقدار پیش فرض بزاری مثلا 0=ID@

هر چی روش خوبه توش خوب نیست!
۰۶-اردیبهشت-۱۳۸۹, ۲۰:۳۵:۰۵
ارسال‌ها
پاسخ
تشکر شده توسط : HoseinVig, iran58, far_222000, kh0rshid_ir
iran58 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 153
موضوع‌ها: 115
تاریخ عضویت: خرداد ۱۳۸۸

تشکرها : 25
( 14 تشکر در 9 ارسال )
ارسال: #3
RE: errorدرinsert
(۰۶-اردیبهشت-۱۳۸۹, ۲۰:۳۵:۰۵)esmaeily-hosein نوشته است: پارامتر ID مقدار دهی نشده است در هنگام اجرای دستور .
میتونی جلوی ID@ مقدار پیش فرض بزاری مثلا 0=ID@
سلام
باتشكر
كجاكدبايدقراربدهم
۰۸-اردیبهشت-۱۳۸۹, ۱۰:۵۵:۵۳
ارسال‌ها
پاسخ
تشکر شده توسط : HoseinVig, kh0rshid_ir
esmaeily-hosein آفلاین
كاربر دو ستاره
**

ارسال‌ها: 232
موضوع‌ها: 12
تاریخ عضویت: دى ۱۳۸۴

تشکرها : 6
( 91 تشکر در 46 ارسال )
ارسال: #4
RE: errorدرinsert
کد:
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

هر چی روش خوبه توش خوب نیست!
۰۹-اردیبهشت-۱۳۸۹, ۱۰:۳۲:۴۰
ارسال‌ها
پاسخ
تشکر شده توسط : iran58, far_222000, HoseinVig, kh0rshid_ir
iran58 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 153
موضوع‌ها: 115
تاریخ عضویت: خرداد ۱۳۸۸

تشکرها : 25
( 14 تشکر در 9 ارسال )
ارسال: #5
RE: errorدرinsert
سلام
ازگفته شمااستفاده كردم بازهم ارورشكل زيررخ داد


فایل‌(های) پیوست شده بندانگشتی (ها)
   
۱۰-اردیبهشت-۱۳۸۹, ۱۰:۲۵:۴۱
ارسال‌ها
پاسخ
تشکر شده توسط : HoseinVig, kh0rshid_ir
HoseinVig آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 1,165
موضوع‌ها: 97
تاریخ عضویت: مرداد ۱۳۸۵

تشکرها : 4768
( 2464 تشکر در 677 ارسال )
ارسال: #6
RE: errorدرinsert
سلام
اگر می خواهید تابعتون اینجوری یک مقدار برگردونه باید یک مقدار رو return کنید ولی ایت تابع شما اصلا return نداره.ساختارش باید کمی تغییر کنه
من در جریان تابعتون نیستم که بخوام دقیق کمکتون کنم اما توی یک نگاه فکر میکنم اگه آخر تابع @ReturnID v رو return کنید مشکل حل شه.
کد:
Return @ReturnID
اگر درجریان تابع نبودم و مشکلت حل نشد مارو ببخش

(آخرین ویرایش در این ارسال: ۱۰-اردیبهشت-۱۳۸۹, ۱۳:۰۵:۳۷، توسط HoseinVig.)
۱۰-اردیبهشت-۱۳۸۹, ۱۳:۰۲:۲۹
ارسال‌ها
پاسخ
تشکر شده توسط : kh0rshid_ir
esmaeily-hosein آفلاین
كاربر دو ستاره
**

ارسال‌ها: 232
موضوع‌ها: 12
تاریخ عضویت: دى ۱۳۸۴

تشکرها : 6
( 91 تشکر در 46 ارسال )
ارسال: #7
RE: errorدرinsert
دوست عزیز از پارامتر output به این شکل استفاده نمیشه .
ابتدا بایستی یک پارامتر به نام ReturnID تعریف کنی در لایه Application
سپس Direction اونو به Output تغییر بدی بعد از اجرا با استفاده از Property Value پارامتر میتونی به اون مقدار دست پیدا کنی
مثال

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

هر چی روش خوبه توش خوب نیست!
(آخرین ویرایش در این ارسال: ۲۱-اردیبهشت-۱۳۸۹, ۱۶:۵۶:۵۴، توسط esmaeily-hosein.)
۲۱-اردیبهشت-۱۳۸۹, ۱۶:۵۵:۰۷
ارسال‌ها
پاسخ
تشکر شده توسط : HoseinVig


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS