مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

allrich

عضویت از 1397/09/20

ارسال پارامتر رشته با Stimulsoft Report

  • دوشنبه 26 آذر 1397
  • 00:03
تشکر میکنم

با سلام 

من توی SQL Server یک چنتا دیتابیس رو بهم Inner Join کردم و ازشون Query گرفتم و چنتا متغیر تعریف کردم براش

 

متغیر @d از نو nvarchar تعریف کردم برای جستجو در تاریخ هست که اونم nvarchar ذخیره شده در دیتابیس

Query در خود SQL Server  به درستی کار میکنه با کد :  

اما وقتی میخوام توی ASP.Net WebForm براش متغیرو بفرستم قبول نمیکنه و ارور میده فقط هم به همین @d و @dd مشکل داره امتحان کردم عددارو خوب میفرسته ولی رشترو نه کد Asp به این شکل نوشتم :

با اجرای کد این ارور نمایش داده میشه : 

بسیار سپاس گذارم . . . heart

پاسخ های این پرسش

تعداد پاسخ ها : 6 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • دوشنبه 26 آذر 1397
  • 08:52

عنوان خطا را در گوگل سرچ کنید چندین راه حل داره که باید تست کنید تا مشکلتون برطرف بشه 

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • دوشنبه 26 آذر 1397
  • 11:43

فکر میکنم سایز رشته ارسالی یا مقداری زیاد هست 

مقادیر ارسالی را بررسی کنید 

کاربر سایت

allrich

عضویت از 1397/09/20

  • دوشنبه 26 آذر 1397
  • 20:05

استاد خیلی آزمایشش کردم | فقط با ارسال رشته مشکل داره کلا مثل این که رشترو جور دیگه ای باید ارسال کرد 

report["@rd"] = Reshte

با این روش ارسال میکنم عدد کار میکنه ولی رشه نه 

وقتی عدد رو خالی وارد کنی Procedure or function 'TT' expects parameter '@UID', which was not supplied.  این ارور میده میگه گزارش یک پارامتر میخواد ولی وقتی یک مقدار رشترو خالی میدی 

SqlCommand.Prepare method requires all variable length parameters to have an explicitly set non-zero Size.

بازم همین ارورو میده به نظر من رشترو باید به یک روش دیگه فرستاد واسه Stimulsoft

از چه راه دیگه ای واسه ارسال رشته استفاده کنم  ؟

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • سه شنبه 27 آذر 1397
  • 08:22

من دیتاهام رو با DataTable میفرستم 

کاربر سایت

allrich

عضویت از 1397/09/20

  • سه شنبه 27 آذر 1397
  • 11:16

خوب با یخورده آزمون خطا اشکال این خطا رو فهمیدم :

من توی SQL گفته بوددم VarChar(10)l در صورتی مه 97/01/01 هشت کاراکتر هست با تغیر دادنش به VarChar(Max)l مشکل ارور :

SqlCommand.Prepare method requires all variable length parameters to have an explicitly set non-zero Size.

حل شد .

الان به راحتی رشترو دریافت میکنه فقط مسئله جدیدی که پیش آمدی هنگام دریافت "/ "پیغام :

Input string was not in a correct format.

مثلا تو رشتش 1 تا 9 میزنم کار میکنه و میاره ولی میزنم "1/" ارور بالارو میده 

چطور میشه میخوام مثلا 91/01/01 براش ارسال کنم نوع داده در SQL هم VarChar هست . ممنون میشم یه راحی بهم نشون بدید .

کاربر سایت

allrich

عضویت از 1397/09/20

  • سه شنبه 27 آذر 1397
  • 23:43

با سپاس فراوان از اقای مدائنی  و همه دوستان .

جوینده آخرش یابندست .

اقای مدائنی  یه راهی گفتید رفتم  دنبالش و از اون طزیق کامل مشکل حل شد ممنونم heart .

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)