نمایش نتایج 1 تا 15 از 15

نام تاپیک: نمایش پرس و جوی حاصل از چند جدول در کریستال ریپورت

  1. #1
    کاربر دائمی آواتار sarapepors
    تاریخ عضویت
    مهر 1389
    محل زندگی
    قائم شهر
    پست
    381

    نمایش پرس و جوی حاصل از چند جدول در کریستال ریپورت

    سلام دوستان می خواستم بدونم واقعا می شه حاصل کوئری چند تا جدول رو در کریستال ریپورت نمایش داد من نمی تونم این کار رو انجام بدم واقعا راهی وجود داره؟؟
    از این که موضوع تایپیک تکراریه عذر می خوام اما واقعا نمی دونم از ادست این کریستال چی کار کنم ؟ با یک دونه جدول مشکل ندارم اما با چند تا جدول به نتیجه نمی رسم

    SqlDataAdapter
    ada = newSqlDataAdapter("Select tlbStudent.name,tblcrs.crs from tlbStudent,tblcrs where tblcrs.id=tlbStudent.crs", constr);
    DataSet1 ds = newDataSet1();
    CrystalDecisions.CrystalReports.Engine.
    ReportDocument repdoc = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
    ada.Fill(ds,
    "tbl");
    int x =ds.Tables["tbl"].Rows.Count;
    CrystalDecisions.Shared.
    ConnectionInfo info = new CrystalDecisions.Shared.ConnectionInfo();
    info.DatabaseName =
    "dbtest";
    info.IntegratedSecurity =
    true;
    string reppath = @"C:\Documents and Settings\amine_2\My Documents\Visual Studio 2008\Projects\ReportTest1\CrystalReport1.rpt";
    repdoc.Load(reppath);
    repdoc.SetDataSource(ds.Tables[
    "tbl"]);
    int x2 = repdoc.Rows.Count;
    this.crystalReportViewer1.ReportSource = repdoc;

    دوستان کانکشن استرینگ هم تعریف کردم هیچ مشکلی در ارتباط با دیتابیس ندارم چون دیتاستی که توی برنامه اد کردم کوئری مورد نظر رو شامل میشه اما در آخر کار روی کریستال نمایش نمی ده یا اگر نشون می ده برای مثال بالا فقط ستون مربوط به درس رو نمایش می ده؟؟؟nameرو نمایش نمیده ؟؟؟؟؟

  2. #2
    کاربر دائمی
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    تهران
    پست
    312

    نقل قول: نمایش پرس و جوی حاصل از چند جدول در کریستال ریپورت

    لطفا جواب بدید چون خیلی وقته که من هم این مشکل رو با کریستال دارم و راه حلی براش پیدا نمی کنم

  3. #3

    نقل قول: نمایش پرس و جوی حاصل از چند جدول در کریستال ریپورت

    با سلام

    کوئری شما مشکل داره که من یک مثال زدم براتون امیدوارم به کارتون بیاد



    try
    {
    this.con = new OleDbConnection(this.DB);

    string strQuety = " SELECT u.name,u.family,u.age " +
    " FROM u INNER JOIN ageuser" +
    " ON u.age=ageuser.age "+
    " WHERE u.age=ageuser.age ";


    this.dba = new OleDbDataAdapter(strQuety, this.con);

    this.dba.Fill(this.dt);

    CrystalReport1 cr1 = new CrystalReport1();

    cr1.SetDataSource(this.dt);

    this.crystalReportViewer1.ReportSource = cr1;

    }
    catch (System.Exception ex)
    {
    MessageBox.Show(ex.Message.ToString());
    this.Close();
    }

    کسی که به خود اطمینان دارد به تعریف دیگران احتیاج ندارد. «گوستاو لوبون»


  4. #4

    نقل قول: نمایش پرس و جوی حاصل از چند جدول در کریستال ریپورت

    خب یک مسئله دیگه میمونه و اونم اینه که مثلا چطوری میشه اطلاعات یک جدول رو انتخاب کرد به طوری که اطلاعات دو فیلد از این جدول با اطلاعات دو فیلد از دو جدول دیگر برابر باشد یا به عبارتی چگونه از دوتا INNER JOIN استفاده بکنید. برای این حالت از کوئری زیر استفاده می کنیم.


    string strQuety = " SELECT u.name,u.family,u.age " +
    " FROM ((u " +
    " INNER JOIN ageuser ON u.age=ageuser.age) " +
    " INNER JOIN nameuser ON u.name=nameuser.name) " +
    " WHERE u.name=nameuser.name " +
    " AND u.age=ageuser.age ";


    فکر کنم دیگه مشکلی نداشته باشید برای این مسئله اگر باز ایرادی داشتید بفرمایید.

    موفق باشید...

    کسی که به خود اطمینان دارد به تعریف دیگران احتیاج ندارد. «گوستاو لوبون»


  5. #5
    کاربر دائمی آواتار sarapepors
    تاریخ عضویت
    مهر 1389
    محل زندگی
    قائم شهر
    پست
    381

    نقل قول: نمایش پرس و جوی حاصل از چند جدول در کریستال ریپورت

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


    string strQuety = " SELECT u.name,u.family,u.age " +
    " FROM ((u " +
    " INNER JOIN ageuser ON u.age=ageuser.age) " +
    " INNER JOIN nameuser ON u.name=nameuser.name) " +
    " WHERE u.name=nameuser.name " +
    " AND u.age=ageuser.age ";


    فکر کنم دیگه مشکلی نداشته باشید برای این مسئله اگر باز ایرادی داشتید بفرمایید.

    موفق باشید...
    سلام دوست من از این که راهنماییم کردین متشکرم .من تا حالا هیچ وقت کوئری هامو به این صورت ننوشتم کوئری که من نوشتم اگر غلطه پس چرا داده های مورد نظر من تو دیتا ست نمایش داده می شه ؟ یعنی هر وقت بخوام از کریستال استفاده کنم باید کوئری رو این مدلی بنویسم؟

  6. #6
    کاربر دائمی آواتار debugger
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    Turkey
    پست
    841

    نقل قول: نمایش پرس و جوی حاصل از چند جدول در کریستال ریپورت

    راستی بجای دیتا ست از دیتا تیبل استفاده کنید . و از صحیح بودن کوئری هم اطمینان حاصل کنید

  7. #7

    نقل قول: نمایش پرس و جوی حاصل از چند جدول در کریستال ریپورت

    نقل قول نوشته شده توسط sarapepors مشاهده تاپیک
    سلام دوست من از این که راهنماییم کردین متشکرم .من تا حالا هیچ وقت کوئری هامو به این صورت ننوشتم کوئری که من نوشتم اگر غلطه پس چرا داده های مورد نظر من تو دیتا ست نمایش داده می شه ؟
    من مثل شما تا الان اینطور روشی که شما کوئری نوشتی من ننوشتم. الان شما از این روشی که گفتم استفاده کردید یا خیر ؟ ایا جواب داد یا خیر ؟ در ضمن اگر میتونید یک نمونه مثال ایجاد کنید و به بنده بدهید تا بتونم روی کوئری خودتون کار بکنم و مشکل رو دریابیم چون من نمیدونم الان داده ها و نوع داده های بانکتون به چه صورتی هستند.


    نقل قول نوشته شده توسط sarapepors مشاهده تاپیک
    یعنی هر وقت بخوام از کریستال استفاده کنم باید کوئری رو این مدلی بنویسم؟
    نه اصلا. این پرس و جو رابطه ی مستقیمی با CR نداره که بگیم باید حتما کوئری رو اینطوری بنویسید بلکه من میگم کوئری نوشن با این روش اصولی تره.

    موفق باشید

    کسی که به خود اطمینان دارد به تعریف دیگران احتیاج ندارد. «گوستاو لوبون»


  8. #8
    کاربر دائمی آواتار sarapepors
    تاریخ عضویت
    مهر 1389
    محل زندگی
    قائم شهر
    پست
    381

    نقل قول: نمایش پرس و جوی حاصل از چند جدول در کریستال ریپورت

    سلام
    من از کوئری که شما گفتید استفاده کردم ببینید من دو روش برای گزارش گیری با کرستال رو یاد گرفم البته همین تازگی ها نمیدونم که اصلا روشهایی که استفاده میکنم درست هست یا نه اولی تقریبا شبیه همین که شما نشونم دادید اتصای از طریق database در ضمن من پایگاه داده ام رو تو این روش ازطریق کلیک راست تو serverexplorerو add sqlserever database بسازم که از این طریق بانک تو مسیرc>programfile>microsoftsqlserver.mssql.1>m ssql>data فپقرار میگیره و بعد هم ریپورت رو بهش متصل میکنم من اینجا دو تا مشکل دارم یکی همین نمایش دادن عجیب و غریب داده ها تو ریپورته یکی دیگه هم اینه که وقتی بانکم رو از مسیری که ساختم بر میدارم و به پوشه ی debug منتقل میکنم موقع اجرا ارور میده و می گه log on faild یا یه چیزی تو ایم مایه ها جالبه وقتی می خوام فقط از یه یه جدول استفاده کنم این مشکل رو ندارم
    البته فایلش رو ضمیمه می کنم که ببینید
    روش دوم هم استفاده از دیتا ست تو این روش مشکل log on ندارم فقط کوئری درست نمایش داده نمیشه .
    فایل های ضمیمه فایل های ضمیمه

  9. #9
    کاربر دائمی آواتار sarapepors
    تاریخ عضویت
    مهر 1389
    محل زندگی
    قائم شهر
    پست
    381

    نقل قول: نمایش پرس و جوی حاصل از چند جدول در کریستال ریپورت

    از همگی دوستان خواهش میکنم کمک کنند مرسی

  10. #10
    کاربر دائمی آواتار sarapepors
    تاریخ عضویت
    مهر 1389
    محل زندگی
    قائم شهر
    پست
    381

    نقل قول: نمایش پرس و جوی حاصل از چند جدول در کریستال ریپورت

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

  11. #11

    نقل قول: نمایش پرس و جوی حاصل از چند جدول در کریستال ریپورت

    با سلام
    نیازی نیست ناراحت باشید.
    یه نمونه برنامه نوشتم گذاشتم که ببینید.شما باید داده های حاصل از جوین کردن جدول هاتونو توی یک دیتا تیبل بریزید. بعد توی پروژتون یه دیتا ست اضافه کنید در سلوشن اکسپلورر.در این دیتا ست یک تیبل اداپتر تعریف کنید و بصورت ویزاردی به جداولی که میخواهید بایند کنید.
    بعد سورس کریستال رو در ado.net object برابر همین جدول که در دیتا ست ساختید قرار بدید.
    حالا در کدتون اون دیتا تیبل رو در سورس کریستال قرار بدید.
    تمام این توضیحات در پروژه ضمیمه به همراه دیتابیس نمونه وجود داره.در ضمن ایراده کاره شما هم هیچ ربطی به نوع نوشتن کوئری نداره.
    موفق باشید.
    فایل های ضمیمه فایل های ضمیمه

  12. #12
    کاربر دائمی آواتار sarapepors
    تاریخ عضویت
    مهر 1389
    محل زندگی
    قائم شهر
    پست
    381

    نقل قول: نمایش پرس و جوی حاصل از چند جدول در کریستال ریپورت

    سلام دوست من از این که راهنماییم کردین ممنونم از روش شما که استفاده کردم تونستم کوئری مورد نظرم رو نمایش بدم اما موقع اضافه کردن دیتا اداپتر به دیتاست من مجبورم کوئری بنویسم بانکم sql شما هم همین کارو کردین؟ یعنی زمانی که می خوام از طریق ویزار اداپتر رو اضافه کنم راهی جز نوشتن کوئری ندارم درسته؟

  13. #13
    کاربر دائمی آواتار sarapepors
    تاریخ عضویت
    مهر 1389
    محل زندگی
    قائم شهر
    پست
    381

    نقل قول: نمایش پرس و جوی حاصل از چند جدول در کریستال ریپورت

    نقل قول نوشته شده توسط shahin_sharifi مشاهده تاپیک
    با سلام
    نیازی نیست ناراحت باشید.
    یه نمونه برنامه نوشتم گذاشتم که ببینید.شما باید داده های حاصل از جوین کردن جدول هاتونو توی یک دیتا تیبل بریزید. بعد توی پروژتون یه دیتا ست اضافه کنید در سلوشن اکسپلورر.در این دیتا ست یک تیبل اداپتر تعریف کنید و بصورت ویزاردی به جداولی که میخواهید بایند کنید.
    بعد سورس کریستال رو در ado.net object برابر همین جدول که در دیتا ست ساختید قرار بدید.
    حالا در کدتون اون دیتا تیبل رو در سورس کریستال قرار بدید.
    تمام این توضیحات در پروژه ضمیمه به همراه دیتابیس نمونه وجود داره.در ضمن ایراده کاره شما هم هیچ ربطی به نوع نوشتن کوئری نداره.
    موفق باشید.
    در ضمن دوست من یه نکته هم راجع به کدتون بگم وقتی از dataadpter استفاده می کنید نیازی به oledbconnection,oledbcommantext,و همچنین باز و بسته کردن connection ندارین adapter خودش به تنهایی کافیه.

    privatestring st = @"Data Source=.\SQLEXPRESS;AttachDbFilename="+Application.StartupPath+@"\Students.mdf"+@";Integrated Security=True;User Instance=True";
    privatevoid Form1_Load(object sender, EventArgs e)
    {
    SqlDataAdapter ada = newSqlDataAdapter("SELECT tblStudent.name,tblcrs.crs FROM tblStudent INNER JOIN tblcrs ON tblStudent.crs=tblcrs.id WHERE tblStudent.id="+1, st);
    DataSet ds = newDataSet();
    ada.Fill(ds,
    "tbl");
    DataTable dt = ds.Tables["tbl"];
    source = dt;
    CrystalReport1 report = newCrystalReport1();
    report.SetDataSource(source);

    crystalReportViewer1.ReportSource = report;


    }

  14. #14

    نقل قول: نمایش پرس و جوی حاصل از چند جدول در کریستال ریپورت

    بله درسته.در زمان ست کردن به صورت ویزاردی کوئری نوشته میشه.شما هم میتونید خودتون بنویسید هم با تیک زدن فیلد های لازم کوئری اتوماتیک ساخته میشه.
    در مورد تذکرتونم ممنون.

  15. #15

    نقل قول: نمایش پرس و جوی حاصل از چند جدول در کریستال ریپورت

    نقل قول نوشته شده توسط shahin_sharifi مشاهده تاپیک
    با سلام
    نیازی نیست ناراحت باشید.
    یه نمونه برنامه نوشتم گذاشتم که ببینید.شما باید داده های حاصل از جوین کردن جدول هاتونو توی یک دیتا تیبل بریزید. بعد توی پروژتون یه دیتا ست اضافه کنید در سلوشن اکسپلورر.در این دیتا ست یک تیبل اداپتر تعریف کنید و بصورت ویزاردی به جداولی که میخواهید بایند کنید.
    بعد سورس کریستال رو در ado.net object برابر همین جدول که در دیتا ست ساختید قرار بدید.
    حالا در کدتون اون دیتا تیبل رو در سورس کریستال قرار بدید.
    تمام این توضیحات در پروژه ضمیمه به همراه دیتابیس نمونه وجود داره.در ضمن ایراده کاره شما هم هیچ ربطی به نوع نوشتن کوئری نداره.
    موفق باشید.

    سلام
    برنامه شما واسه 1 جدول هست ایا برای 2 جدول میشه اینکارو کرد ؟
    اشکال در استفاده از 2 جدول در کریستال ریپورت

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •