ورود

View Full Version : سوال: مشکل در کانکت شدن در کریستال ریپورت



sina_rzv2
چهارشنبه 04 بهمن 1391, 11:26 صبح
سلام
من دارم یه ویندوز اپلیکیشن میسازم که اطلاعاتم را از یه سرور در وب میگیه و میخوام رکوردهام را در کریستال ریپورت پرینت بگیرم. وقتی که ویزارد واسه کانکشن میسازم نام سرور و یوزر و پسورود را میزنم و تیک integrated security هم می زنم ولی هر وقت میخوام برنامه را run کنم باز یوزر پسورد میخواد.
وقتی تیک integrated security هم نمی زنم بازم یوزر پسورد میخواد.
من میخوام بعد از تکمیل شدن یه setup بسازم بدم به یکی نمیخوام طرف هر دفعه یوز پسورد بزنه.
کسی می تونه کمک کنه؟ :(

fakhravari
جمعه 06 بهمن 1391, 02:06 صبح
متاسفانه یکی از دردسر های کریستال همین بود.
چون از روش دیتاستی اتصال میدین این گزینه فعال میشه.
من خودم راهش نفهمیدم.

mc_laren
جمعه 06 بهمن 1391, 11:13 صبح
مشکل شما دوست عزیز اینه که مستقیما خود رشته اتصالت رو برای کریستال ریپورت میفرستی، بهترین روش برای کار کردن با کریستال ریپورت اینه که خورجی کوئری مورد نظرت رو درون یک DataTable یا DataSet ریخته و مقدارش رو به کریستال بدی.
برای مثال می تونی از کد زیر استفاده کنی



Dim FrmRep As New FrmReports
FrmRep.rptDocument.Load(MyUtility.Path + "\RepHesabMoeinBuyer.rpt")
FrmRep.rptDocument.SetDataSource(Dst1)
FrmRep.rptDocument.SetParameterValue("PrmNamFam", Me.LblNamFamBuyer.Text)
FrmRep.CrystalReportViewer1.ReportSource = FrmRep.rptDocument
FrmRep.Show()


اما توضیح در مورد کد بالا
خط اول که معلومه یک نمونه از فرمی می سازیم که توش یک کنترل CrystalReportViewer قرار داده شده، در ضمن باید تو فرم یک کنترل هم از نوع reportDocument وجود داشته باشه که من اینجا اسمش رو گذاشتم rptDocument.
در خط دوم مسیر فایل گزارش رو معرفی می کنیم
در خط سوم خروجی کوئری مورد نظر رو برای کریستال می فرستیم
در خط چهارم که اختیاری می باشد در صورتیکه درون گزارشتون پارامتر نداشته باشین
در خط پنجم تنظیمات انجام داده شده رو برای کنترل نمایش گزارش می فرستیم
در خط ششم هم فرم مورد نظر نمایش داده می شود


مهمترین مزیتی که رش بالا داره اینه که مهم نیست گزارش رو با چه پایگاه داده ای ساختی فقط مهم اسم جدل و فیلد ها می باشد.
مثلا من خودم اول برنامم رو با اکسس نوشتم و گزارشاتم رو با همون ساختم ولی بعدا برنامم رو تبدیل به اس کیوال کردم و نیازی هم به تغییر گزارشاتم نداشتم