ابتدا یک data set ایجاد می کنید داخل فرم data set راست کلیک add و datatable را ایجاد می کنی(dt1) سپس روی dt1 راست کلیک کنید و add=> column کلیک کنید (img1) و date type ان را از نوع System.Byte[] قرار دهید سپس به کریستال ریپورت رفته و دیتاست را فراخوانی و فیلد img1 را در قسمت details قرار دهید بعد به محیط کد نویسی بازگشته و کد زیر را درج کنید
privatevoid button1_Click(object sender, EventArgs e)
{
OleDbConnection con = newOleDbConnection(@"provider=microsoft.jet.oledb.4.0; data source=C:\Documents and Settings\hasan\My Documents\mydata.mdb");
OleDbDataReader dr;
OleDbCommand com = newOleDbCommand("select Address from tb1", con);
con.Open();
dr = com.ExecuteReader();
DataSet1 ds1 = newDataSet1();
CrystalReport1 cr1 = newCrystalReport1();
while(dr.Read())
{
DataSet1.dt1Row img = ds1.dt1.Newdt1Row();
img["img1"] = convert(dr["Address"].ToString());
ds1.dt1.Rows.Add(img);
}
con.Close();
cr1.SetDataSource(ds1);
crystalReportViewer1.ReportSource = cr1;
}byte[] convert(string path1)
{
System.IO.FileStream filein = new System.IO.FileStream(path1, FileMode.Open, FileAccess.Read);
BinaryReader bineryimg = newBinaryReader(filein);
return (bineryimg.ReadBytes(Convert.ToInt32(bineryimg.BaseStream.Length)));
}