PDA

View Full Version : مشكل در stored procedure



HamidTatalo
چهارشنبه 27 بهمن 1389, 13:16 عصر
دوستان من اين كد رو در داخل stored procedure نوشتم :


@Name nvarchar(400)
@ShortDescription nvarchar(MAX)
@FullDescription nvarchar(MAX)
@AdminComment nvarchar(MAX)
@TemplateID int
@ShowOnHomePage bit
@MetaKeyword nvarchar(400)
@MetaDescription nvarchar(4000)
@MetaTitle nvarchar(400)
@SEName nvarchar(100)
@AllowCustomerReviews bit
@AllowCustomerRatings bit
@RatingSum int
@TotalRatingVotes int
@Published bit


AS

INSERT INTO tbl_Product
([Name], ShortDescription, FullDescription, AdminComment, TemplateID, ShowOnHomePage,
MetaKeyword, MetaDescription, MetaTitle, SEName, AllowCustomerReviews,
AllowCustomerRatings, RatingSum, TotalRatingVotes, Published, Deleted, CreatedOn, UpdatedOn)
VALUES (@[Name], @ShortDescription, @FullDescription, @AdminComment, @TemplateID, @ShowOnHomePage,
@MetaKeyword, @MetaDescription, @MetaTitle, @SEName, @AllowCustomerReviews,
@AllowCustomerRatings, @RatingSum, @TotalRatingVotes, @Published, 0, GETDATE(), GETDATE())


RETURN


ولي هنگام ذخيره كردن خطاي زير رو ميده

Incorrect syntax near '@ShortDescription'.
Must Declare the scaler variant "@"

خيلي واجبه ممنون:گریه:

mahmood1000
چهارشنبه 27 بهمن 1389, 13:33 عصر
دوست عزیز بعد از VALUES متغیر [Name]@ رو به Name@ تغییر بده ببین درست میشه یا نه

HamidTatalo
چهارشنبه 27 بهمن 1389, 13:35 عصر
نه دوست من اون رو ورداشتم درست نشد

javad.nic63
چهارشنبه 27 بهمن 1389, 13:42 عصر
برادر عزیز چک کن که نوع تمام ورودی هات با نوع فیلدهای جدولت دقیقاً یکی باشه. دوماً برای چی sp رو اینطوری نوشتی؟ اینطوری باید بنویسی.


create proc SpName
@Name nvarchar(400)
@ShortDescription nvarchar(MAX)
@FullDescription nvarchar(MAX)
@AdminComment nvarchar(MAX)
@TemplateID int
@ShowOnHomePage bit
@MetaKeyword nvarchar(400)
@MetaDescription nvarchar(4000)
@MetaTitle nvarchar(400)
@SEName nvarchar(100)
@AllowCustomerReviews bit
@AllowCustomerRatings bit
@RatingSum int
@TotalRatingVotes int
@Published bit


AS

INSERT INTO tbl_Product
([Name], ShortDescription, FullDescription, AdminComment, TemplateID, ShowOnHomePage,
MetaKeyword, MetaDescription, MetaTitle, SEName, AllowCustomerReviews,
AllowCustomerRatings, RatingSum, TotalRatingVotes, Published, Deleted, CreatedOn, UpdatedOn)
VALUES (@[Name], @ShortDescription, @FullDescription, @AdminComment, @TemplateID, @ShowOnHomePage,
@MetaKeyword, @MetaDescription, @MetaTitle, @SEName, @AllowCustomerReviews,
@AllowCustomerRatings, @RatingSum, @TotalRatingVotes, @Published, 0, GETDATE(), GETDATE())
بعدش هم چک کن ببین این دو تا تابعی که توش فراخونی کردی کاملاً جواب بده. ضمناً کلمه return آخرش چیه؟؟؟؟؟

HamidTatalo
چهارشنبه 27 بهمن 1389, 13:56 عصر
اين چه فرقي با كدي كه من نوشتم داشت ؟
فقط من يه Return اضافه نوشتم !!!!!!!!!

بازم كار نكرد دوست من

Roia_del
چهارشنبه 27 بهمن 1389, 14:28 عصر
به جای nvarchar(MAX) بنویس nvarchar شاید حل شد.

nafasak
چهارشنبه 27 بهمن 1389, 14:42 عصر
دوست عزیز،
بعد از هر کدام از تعاریف متغیرهای ورودی یک کاما بزار. بجز آخریش.



create proc SpName
@Name nvarchar(400),
@ShortDescription nvarchar(MAX),
@FullDescription nvarchar(MAX),
@AdminComment nvarchar(MAX),
@TemplateID int,
@ShowOnHomePage bit,
@MetaKeyword nvarchar(400),
@MetaDescription nvarchar(4000),
@MetaTitle nvarchar(400),
@SEName nvarchar(100),
@AllowCustomerReviews bit,
@AllowCustomerRatings bit,
@RatingSum int,
@TotalRatingVotes int,
@Published bit

AS

حمیدرضاصادقیان
چهارشنبه 27 بهمن 1389, 22:08 عصر
سلام.
دوست عزیز شما لطف کنید دستوری که نوشتید رو کامل قرار بدید . همچنین ایراد خطایی که میگیره کامل بنویسید. از خط چند ایراد میگیره؟

نکته: لطفا کدهای خود را داخل تگ code بذارید