PDA

View Full Version : نشون دادن عکس های ذخیره شده در بانک درون کریستال ریپورت



sara_mp
چهارشنبه 11 آذر 1388, 19:50 عصر
با سلام خدمت همه دوستان
من عکسامو بعلاوه یک سری اطلاعات دیگه (نام ، نام خانوادگی و ...)توی بانک ذخیره کردم (عکس ها به صورت باینری ذخیره شدن) حالا می خوام با کریستال ریپورت گزارش گیری کنم ولی همه فیلد ها نشون داده میشند به غیر از عکس ها چه جوری باید عکس ها رو تو کریستال نمایش بدم.
ممنون از کمک شما:لبخندساده:

neda_dela
چهارشنبه 11 آذر 1388, 21:32 عصر
با سلام خدمت همه دوستان
من عکسامو بعلاوه یک سری اطلاعات دیگه (نام ، نام خانوادگی و ...)توی بانک ذخیره کردم (عکس ها به صورت باینری ذخیره شدن) حالا می خوام با کریستال ریپورت گزارش گیری کنم ولی همه فیلد ها نشون داده میشند به غیر از عکس ها چه جوری باید عکس ها رو تو کریستال نمایش بدم.
ممنون از کمک شما:لبخندساده:
ببین من تجربه خودم رو بهت می گم.
من می خاستم از رکورد هایی که شغل پدرشون یه شغل خاصی هست گزارش بگیرم.
یه تکست باکس و یه باتن گذاشتم توی رویداد کلیک اون باتن:


private void button3_Click(object sender, EventArgs e)
{
(new report_viewer(textBox3.Text)).ShowDialog();
}

بعد یه فرم جدید ساختم و توش کنترل crystal report viewer رو قرار دادم
و توی رویداد لود فرمم این کدها رو گذاشتم:


rookhani f1 = new rookhani();
SqlConnection Conn = new SqlConnection("Data Source=.;Initial Catalog=quran;Integrated Security=True");
SqlDataAdapter DA = new SqlDataAdapter("Select * from [st-shakhsi] where fjob= @fjob", Conn);
DA.SelectCommand.Parameters.AddWithValue("@fjob", fjob);
DataSet DS = new DataSet();
DA.Fill(DS, "t1");
CrystalReport2 CR = new CrystalReport2();
CR.SetDataSource(DS.Tables["t1"]);
crystalReportViewer1.ReportSource = CR;

امیدوارم بتونه بهت کمک کنه.

neda_dela
چهارشنبه 11 آذر 1388, 21:44 عصر
با سلام خدمت همه دوستان
من عکسامو بعلاوه یک سری اطلاعات دیگه (نام ، نام خانوادگی و ...)توی بانک ذخیره کردم (عکس ها به صورت باینری ذخیره شدن) حالا می خوام با کریستال ریپورت گزارش گیری کنم ولی همه فیلد ها نشون داده میشند به غیر از عکس ها چه جوری باید عکس ها رو تو کریستال نمایش بدم.
ممنون از کمک شما:لبخندساده:
ببینم راستی شما می تونی مشکل منو حل کنی؟
دوستان دیگه هم اگه می تونن کمک کنن لطفا:قلب:
من هم توی تیبلم عکس ذخیره کردم حالا از گریدم یه رکورد رو انتخاب می کنم و به فرم 2 میرم. عکس اون رکوردی که انتخاب کرده بودم توی پیکچر باکس فرم 2 قرار می گیره ، حالا مقدار بقیه فیلدها رو هم دستی وارد می کنم. وقتی که دکمه ثبت رو می زنم مقادیر بقیه فیلدها ثبت می شه ولی عکس ثبت نمی شه
توضیح کامل مشکلم رو توی این دو تاپست گذاشتم:
http://barnamenevis.org/forum/showthread.php?t=193021 (http://barnamenevis.org/forum/showthread.php?t=193021)

http://barnamenevis.org/forum/showthread.php?t=192592 (http://barnamenevis.org/forum/showthread.php?t=192592)

sara_mp
پنج شنبه 12 آذر 1388, 18:07 عصر
سلام دوست عزیز
جواب سوالت رو دوستان توی دومین لینکی که گذاشتی دادن
عکس رو باید به صورت باینری در بانک ذخیره کنی
من قبلا این مشکل رو داشتم و لی با این روش حل شد.

sara_mp
پنج شنبه 12 آذر 1388, 18:13 عصر
ببینید دوستان من توی ذخیره عکس مشکلی ندارم
فقط موقعی که می خوام داده های بانک رو توی کریستال ریپورت نشون بدم همشون می یاند به غیر از عکس
اگر کسی قبلا این کار رو انجام داده و کدشو رو اینجا بزاره خیلی ممنون می شم

neda_dela
پنج شنبه 12 آذر 1388, 20:07 عصر
ببینید دوستان من توی ذخیره عکس مشکلی ندارم
فقط موقعی که می خوام داده های بانک رو توی کریستال ریپورت نشون بدم همشون می یاند به غیر از عکس
اگر کسی قبلا این کار رو انجام داده و کدشو رو اینجا بزاره خیلی ممنون می شم
ببین دوست جون اون کدی که گذاشتم برات مشکل منو حل کرده ها. عکس رکورد های من الان توی کریستال ریپورت نشون داده میشه
من نمی دونم شما کریستال ریپورت رو چه طوری استفاده می کنی. ولی کاری که خودم کردم اینه که یه فرم کریستال ریپورت جدید ولی از نوع blank ایجاد می کنم. بعد از پنجره field explorer روی database fields کلیک راست می کنم و database expert رو انتخاب می کنم و از ado.net تیبل مورد نظرم رو انتخاب می کنم اونوقت اون تیبل به لیست database fields من اضافه می شه (ببخشید این طوری دارم می گم ها این فقط تجربه خودمه می تونی اصلا نخونیش)
بعد دونه دونه فیلد هایی رو که نیاز دارم توی section3(details) وارد می کنم از جمله فیلد عکسم رو
مثلا من می خام از رکورد هایی که شغل پدرشون کارمند هستش گزارش تهیه کنم
توی رویداد کلیک دکمه ای که می خام با کلیک کردنش به کریستال ریپورت برم این کد رو گذاشتم:


(new report_viewer(textBox3.Text)).ShowDialog();

توی تکست باکس 3 هم مثلا می نویسم "کارمند"
توی فرم report viewer هم یه کنترل crystal report viewer گذاشتم
کل کد فرم report viewer ایناست:


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace quran
{
public partial class report_viewer : Form
{
string fjob;
public report_viewer(string param)
{
fjob = param;
InitializeComponent();
}
private void report_viewer_Load(object sender, EventArgs e)
{
rookhani f1 = new rookhani();
SqlConnection Conn = new SqlConnection("Data Source=.;Initial Catalog=quran;Integrated Security=True");
SqlDataAdapter DA = new SqlDataAdapter("Select * from [st-shakhsi] where fjob= @fjob", Conn);
DA.SelectCommand.Parameters.AddWithValue("@fjob", fjob);
DataSet DS = new DataSet();
DA.Fill(DS, "t1");
CrystalReport2 CR = new CrystalReport2();
CR.SetDataSource(DS.Tables["t1"]);
crystalReportViewer1.ReportSource = CR;

}


}
}

اگه همین طور که گفتم انجامش بدی نباید مشکلی داشته باشی دیگه انشالله:خجالت: