با سلام به دوست عزیز.
شما اول باید نوع فیلد در SQL را به Image تغییر دهید بعد با دستور زیر تصویر را درون فیلد مورد نظر ذخیره کنید
FileStream f = newFileStream(StrFileName, FileMode.OpenOrCreate);
byte[] buff = newbyte[f.Length];
f.Read(buff, 0, (int)f.Length);
مثلا اگر خواستی درون دیتابیس ذخیره کنی ( مثلا با دستور SQL) کد زیر را می نویسی:
من فقط فیلد تصویر را در نظر گرفته ام:
StrSql = "INSERT INTO tablename" +
"(Photo)" +
"VALUES( @pict')";
Command = newSqlCommand(StrSql, Connection);
Command.CommandType = CommandType.Text;
Command.Parameters.AddWithValue("@pict", buff);
Command.ExecuteNonQuery();
برای بازیابی کد زیر را بنویس
byte[] b = (byte[])Data.Set.Tables[0].Rows[0][0];
MemoryStream st = newMemoryStream();
st.Write(b, 0, b.Length);
Image im = Image.FromStream(st);
مثلا اگر خواستی تصویر مورد نظر را در Picturebox نشان دهی بعد از دستورات بازیابی دستور زیر را می نویسی:
picturebox1.image=im;
در کریستال ریپورت بعد از ایجاد ویزاد ( وقتی به جدول وصل شدی ) خودش به صورت اتوماتیک تصویر را می شناسد
اگر توضیحات تکمیلی خواستی بگو از اول برات توضیح بدم