PDA

View Full Version : سوال: استفاده از استور پروسیجر پارامتر دار در stimulsoft



hahaie
سه شنبه 20 تیر 1391, 08:53 صبح
سلام.از برنامه نویسان عزیزی که در این مورد کار کردند میخوام در مورد مشکل زیر بنده رو یاری رسانند!
من یه storeProcedure توی sql نوشتم که نکته ی مهم اون اینه ک مقداری رو از کاربر میگیره و براساس اون خروجی ای رو ب ما نمایش میده(یه select معمولی ک درون شرطش مقداری رو خارج از استور پروسیجر از کاربر میگیره).
نمیدونم چطوری میشه از این استور پروسیجر توی گزارش استفاده کرد.چطوری شرطی که باید توی کدای سی شارپ مقدار بدم رو اینجا در نظر بگیرم.کد نویسیش چطوری میشه؟
توی همین سایتم سوال مشابهی پرسیده شده اما جواب مشخصی داده نشده.
دوستان اگه آموزش عملی pdf دارند بذارند ممنون میشم.خیلی سرچ زدم چیز خوبی پیدا نکردم
من توی Stimulsoft تخصص ندارم و تازه وارد تازه وارد هستم.اصلا نمیدونم توی سی شارپ از کدوم ابزارهای stimulsoft باید برای گزارش استفاده کنم.یکیش stiReport ولی اون یکیش رو نمیدونم.توی سایتها گفتند reportWebviewer اما من توی سی شارپ میخوام نه asp.net.
ببخشید طولانی شد.

veniz2008
سه شنبه 20 تیر 1391, 09:15 صبح
سلام،توی شرط نوشتن در stored procedure مشکل داری؟
این stimulsoft چیه؟

hahaie
سه شنبه 20 تیر 1391, 16:52 عصر
سلام.
بنده یه دستور select موقع ایجاد dataSource در stimul نوشتم و فیلدای اون رو بازیابی کردم.ضمن اینکه شرط اون رو یه variable گذاشتم و relation ی بین جداول در stimul درست نکردم چون توی خود sqlserver این کار رو کرده بودم.توی data هم چند تایی text گذاشتم و ستونهای بازیابی شده رو ب اونها ربط دادم.اما وقتی توی سی شارپ برای نمایش از کد زیر استفاده میکنم خروجی ای نشون داده نمیشه.ضمن اینکه دستور select توی خود sqlserver جواب میده.

Stimulsoft.Report.StiReport report = new Stimulsoft.Report.StiReport();
report.Load("stiReport1.mrt");
report["mycondition"] = "where tbl_factor.id_moshtari=(select id from tbl_moshtari where name='سالار ماندیان') and tbl_factor.tarikh between '1391/01/01' and '1391/05/30'";
stiViewerControl1.Report = report;
report.Show();


اگه کدای بالا رو درست نمیبینید:
Stimulsoft.Report.StiReport report = new Stimulsoft.Report.StiReport();
report.Load("stiReport1.mrt");
report["mycondition"] = "where tbl_factor.id_moshtari=(select id from tbl_moshtari where name='سالار ماندیان') and tbl_factor.tarikh between '1391/01/01' and '1391/05/30'";
stiViewerControl1.Report = report;
report.Show();

Master.
جمعه 04 اسفند 1391, 11:39 صبح
سلام به همگی .
کسی میتونه تو این زمینه بهم کمک کنه ؟ من پارامتر رو به اس کیو ال سرور با دستور زیر ارسال میکنم اما خروجی ای در گزارش نمایش داده نمیشه!! در حالی که تو ویژوال استودیو و اس کیو ال سرور خروجی کامل نمایش داده میشه :


stiReport1.Load("rp1.mrt");
stiReport1.Compile();
stiReport1.CompiledReport.DataSources["SGetAmarJojekeshiByManbaName"].Parameters["@t"].ParameterValue = API.CurrentSourceName;
stiReport1["JojeKeshiName"] = cmboxJojekeshiha.SelectedItem.ToString();
stiReport1["ManbaaName"] = API.CurrentSourceName;
stiReport1.Show();

emad4000
سه شنبه 07 بهمن 1393, 08:52 صبح
سلام
شما باید در DataSource ای که تعریف می کنین، این عبارت رو بنویسین

exec "SP_Report..."@Condition


بعد توی کد BackEnd این دستورات رو بنویسین

report.Load("report1.mrt");
report.Compile();
report["@Condition"] = "...";
report.Render();
stiWebViewer1.Report = report;


البته این کدی که نوشتم برای برنامه های Web Based هست.