مشکل با تعریف تیبل در قسمت سورس Crystal Report

morteza66

عضو جدید
با سلام
بعد از ساختن ریپورت با کریستال ریپورت و تست اون ، جهت اینکه در فرم لود مربوط به crystal report viewer اتصال به دیتابیس رو میخوام برقرار کنم مشکل دارم
و مشکلم اینه که چون در ریپورت ساخته شده از دو تیبل استفاده میکنم موقعی که میخوام دستور select و مابقی دستورات رو بدم بلد نیستم و به مشکل خوردم
ممنون میشم اساتید کمکی بهم بکنند .

با تشکر
این کدی که من استفاده میکنم
کد:
        private void frmreportdarbast_Load(object sender, EventArgs e)
        {
          //  MessageBox.Show(x1);
            SqlConnection cn = new SqlConnection("Data Source=c;Initial Catalog=db-DB;Integrated Security=True");
            SqlDataAdapter objDataAdapter = new SqlDataAdapter();
            DataSet objDataSet = new DataSet();
            objDataAdapter = new SqlDataAdapter("SELECT * FROM tblusers where id ="+ x1 +
                                                  "UNION ALL SELECT * FROM TBLUNI where tid=" + x1, cn);
            objDataAdapter.Fill(objDataSet);
            DataTable dt = objDataSet.Tables["tblusers","TBLUNI"];
            ReportDocument cr = new ReportDocument();
            cr.Load(@"CrystalReport_darbast.rpt");
            cr.VerifyDatabase();
            cr.SetDataSource(objDataSet);
            crystalReportViewer1.ReportSource = cr;
            crystalReportViewer1.Show();
         
        }

توضیح : در کد اصلی یک مقدار بعنوان ID , TID ساختم چون از این طریق دو تیبل به هم متصل هستن و از اونها واکشی اطلاعات صورت میگیره .
کدم مشکل داره امیدوارم یاری برسونید .
تشکر
 

upper of mind

عضو جدید
استفاده از جدول واسط

استفاده از جدول واسط

با سلام
بعد از ساختن ریپورت با کریستال ریپورت و تست اون ، جهت اینکه در فرم لود مربوط به crystal report viewer اتصال به دیتابیس رو میخوام برقرار کنم مشکل دارم
و مشکلم اینه که چون در ریپورت ساخته شده از دو تیبل استفاده میکنم موقعی که میخوام دستور select و مابقی دستورات رو بدم بلد نیستم و به مشکل خوردم
ممنون میشم اساتید کمکی بهم بکنند .

با تشکر
این کدی که من استفاده میکنم
کد:
        private void frmreportdarbast_Load(object sender, EventArgs e)
        {
          //  MessageBox.Show(x1);
            SqlConnection cn = new SqlConnection("Data Source=c;Initial Catalog=db-DB;Integrated Security=True");
            SqlDataAdapter objDataAdapter = new SqlDataAdapter();
            DataSet objDataSet = new DataSet();
            objDataAdapter = new SqlDataAdapter("SELECT * FROM tblusers where id ="+ x1 +
                                                  "UNION ALL SELECT * FROM TBLUNI where tid=" + x1, cn);
            objDataAdapter.Fill(objDataSet);
            DataTable dt = objDataSet.Tables["tblusers","TBLUNI"];
            ReportDocument cr = new ReportDocument();
            cr.Load(@"CrystalReport_darbast.rpt");
            cr.VerifyDatabase();
            cr.SetDataSource(objDataSet);
            crystalReportViewer1.ReportSource = cr;
            crystalReportViewer1.Show();
         
        }

توضیح : در کد اصلی یک مقدار بعنوان ID , TID ساختم چون از این طریق دو تیبل به هم متصل هستن و از اونها واکشی اطلاعات صورت میگیره .
کدم مشکل داره امیدوارم یاری برسونید .
تشکر
سلام دوست عزیز
مشکل در طراحی کریستال ریپورتتون هست ، به این دلیل که کریستال ریپورت یه جدول رو میگیره ولی شما
از دو جدول استفاده می کنید.
به نظر من بهتره که یه جدول واسط بسازی به این شکل که:
- اگر از sql server استفاده می کنید میتونید با کدهای sql یه جدول واسط بسازید که تعداد فیلد های اون از join کردن دوتا جدولت به دست میاد
- اگر از sql client خود سی شارپ استفاده می کنید بهتر است که یه جدول واسط طراحی کنید که با دستور اس کیو ال خود اون رو به
صورت موقت پر کنید از اون برای گزارش گیری استفاده کنید.

با تشکر محمودی.
من یه لینک آموزش اس کی ال سرور میزارم و سی شارپ به کارتون میاد.
http://s5.picofile.com/d/5b8e7077-ae54-4e5e-9948-72f3e46f253b/Part1.rar
http://s3.picofile.com/d/21752583-7919-40b5-a3d6-61f6b86a3c3f/fastreport_part_1_.rar

موفق باشید

 
Similar threads
Thread starter عنوان تالار پاسخ ها تاریخ
aria/68 تعریف لیست C#.NET 2

Similar threads

بالا