سلام
خودم اول فيلد عكس در بانك را به صورت image تعريف كرده بودم ولي در زمان ذخيره اطلاعات عكس ذخيره نمي شد
از نمونه کدهای زیر جهت نوشتن و خواندن عکس در بانک اطلاعاتی می تونی استفاده کنی.
در این نمونه کد، قصد آن است که تصویر موجود در picturebox1 در بانک اطلاعاتی sql نگهداری شود.
همچنین فرض شده که جدول مربوطه تنها یک فیلد با نام picture و نوع image داره.
این کد برای ذخیره تصویر استفاده مشه.
Dim ms AsNew MemoryStream()
PictureBox1.Image.Save(ms, PictureBox1.Image.RawFormat)
Dim arrImage() AsByte = ms.GetBuffer
ms.Close()
Dim myConnection AsNew SqlConnection(connectionString)
Dim strSQL AsString = "INSERT INTO Picture ( Picture) VALUES (@Picture)"
Dim cmd AsNew SqlCommand(strSQL, myConnection )
cmd.Parameters.Add(New SqlParameter("@Picture",SqlDbType.Image)).Value = arrImage
myConnection .Open()
cmd.ExecuteNonQuery()
myConnection .Close()
و اما برای نمایش مجدد تصویر در picturebox
Dim arrPicture() AsByte = CType(dsPictures.Tables(0).Rows(?)("Picture"), Byte())
Dim ms AsNew MemoryStream(arrPicture)
With PictureBox2
.Image = Image.FromStream(ms)
.SizeMode = PictureBoxSizeMode.StretchImage
.BorderStyle = BorderStyle.Fixed3D
EndWith
نمونه کد بالا تصویر رو از بانک نمایش می ده.
همچنین در این کد، تصویر مربوطه در رکورد ؟ ذخیره شده.
فکر نمی کنم کدها نیازی به توضیح بیشتری داشته باشن.
قابليت گزارش گيري توسط كريستال ريپورت را داشته باشد
و امااینکه چطور این رو در کریستال ریپورت نشون داد. تاحالا واسه من همچین کاری پیش نیومده. اما این روشی که دوستمون negar_programmer گفتند، اگه درست باشه می تونید از تلفیق این کدها و روش دوستمون مشکلتون رو حل کنید.