فرم لاگین در crystal report
سلام خدمت اساتید محترم ، من ابتدا اطلاعات رو از دیتابیس میگیرم و در یک شی میریزم، بعد مقادیر متغییرهای این شی رو به یک جدول از دیتاستی ک در برنامه تعریف کردم وارد میکنم ، این جدول از دیتاست رو هم به عنوان اطلاعات فرم گزارش مشخص کردم که عکسی از کدها رو براتون گذاشتم
حالا موقع اجرا و تست برنامه ، همه چی درسته و مقادیر گزارش به درستی در فرم نمایش داده می شه ولی وقتی ستاپ برنامه رو میسازم و می خوام این گزارش رو ببینم فرم لاگین زیر نمایش داده می شه و گزارش رو نشون نمیده
ممنون میشم کمک کنید و بگید مشکل از کجاست ، مرسی
2 پاسخ
ممنون از راهنماییتون ولی این کار رو انجام دادم و جواب نداد
یکی اینکه فکر میکنم چون اطلاعات لازم برای گزارش رو به طور مستقیم از دیتابیس نمیگیرم، لاگین دیتابیس هم لازم نباشه ولی با این حال وقتی لاگین دیتابیس رو هم میزنم باز هم ارور میده که این یوزرنیم و پسورد اشتباه است
نکته بعدی اینکه اگر فرم دیتابیس لاگین رو هم مشاهده کنید، اسم سرور رو همون dataset1 نوشته که بنده در پروژه ایجاد کردم، ادرس سرور و نام بانک اطلاعاتی نمی خواد
نمیدونم چرا این مشکل پیش میاد، ممنون میشم بیشتر راهنمایی بفرمایید
سلام دوست عزیز، شما احتمالاً داخل کدتون اطلاعات login برای database رو مشخص نکردید. اطلاعات مربوط به Login رو ارسال کنید مشکلتون احتمالاً حل بشه. نمونه کد زیر از این سایت برداشت شده:
ReportDocument cryRpt = new ReportDocument();
TableLogOnInfos crtableLogoninfos = new TableLogOnInfos();
TableLogOnInfo crtableLogoninfo = new TableLogOnInfo();
ConnectionInfo crConnectionInfo = new ConnectionInfo();
Tables CrTables ;
cryRpt.Load("PUT CRYSTAL REPORT PATH HERE\CrystalReport1.rpt");
crConnectionInfo.ServerName = "YOUR SERVER NAME";
crConnectionInfo.DatabaseName = "YOUR DATABASE NAME";
crConnectionInfo.UserID = "YOUR DATABASE USERNAME";
crConnectionInfo.Password = "YOUR DATABASE PASSWORD";
CrTables = cryRpt.Database.Tables ;
foreach (CrystalDecisions.CrystalReports.Engine.Table CrTable in CrTables)
{
crtableLogoninfo = CrTable.LogOnInfo;
crtableLogoninfo.ConnectionInfo = crConnectionInfo;
CrTable.ApplyLogOnInfo(crtableLogoninfo);
}
crystalReportViewer1.ReportSource = cryRpt;
crystalReportViewer1.Refresh();