ورود

View Full Version : ذخیره عکس



majidsoft
جمعه 10 مهر 1388, 23:53 عصر
با سلام
من یک برنامه دارم که عکس رو از یک دیتابیس می خونه و در یک picbox نمایش می ده حالا می خوام با زدن دکمه ثبت عکس مورد نظر را در یک table دیگر ذخیره کنه ولی ایراد gdi می گیره لطفا من را راهنمایی کنید اگر کدی در این زمینه دارید لطف کنید برایم بگذارید
با تشکر

meitti
شنبه 11 مهر 1388, 10:36 صبح
دوست عزیز من از این کد استفاده میکنم و مشگلی تا حالا نداشته




ImageConverter image = new ImageConverter();
byte[] photo = (byte[])image.ConvertTo(picturbox.BackgroundImage, typeof(byte[]));
; فیلد عکس = photo

majidsoft
شنبه 11 مهر 1388, 12:32 عصر
با سلام من با vb کار می کنم ولی از کد شما سر در نیاوردم


Dim Cnn As SqlConnection = Fn_Get_SqlConnection()
Dim Cmd As New SqlCommand("spinsert_information", Cnn)
Dim ms As New MemoryStream
picbox.Image.Save(ms, picbox.Image.RawFormat)
Dim arrimage() As Byte = ms.GetBuffer
Dim param As SqlParameter
param = Cmd.Parameters.Add("@aks", Data.SqlDbType.Image)
param.Value = arrimage
Cnn.Open()
Cmd.ExecuteNonQuery()
Cnn.Close()

ولی زمانی که از این کد برای لود استفاده می کنم هنگام ذخیره از طریق همین کد ایراد gdi را می گیرد

majidsoft
شنبه 11 مهر 1388, 12:34 عصر
Dim image As New ImageConverter()
Dim photo As Byte() = DirectCast(image.ConvertTo(picturbox.BackgroundIma ge, GetType(Byte())), Byte())
Dim مک« As هیé§ = photo

این کد شما در vb می باشد اگه لطف کنی یکم واضحتر برام بنویسی ممنون می شم

Reza_Yarahmadi
شنبه 11 مهر 1388, 16:12 عصر
نوع داده فیلد عکس توی بانک رو از Image به (varbinary(max تغییر بدید ببینید درست میشه یا نه!

meitti
شنبه 11 مهر 1388, 20:22 عصر
دوست عزيز بيبينيد اين لينك (http://www.codeguru.com/vb/vb_internet/database/article.php/c7427)به دردتون مي خوره

majidsoft
یک شنبه 12 مهر 1388, 22:32 عصر
با تشکر
دارم روی لینک کار می کنم تقریبا جواب داده اگه خواستید بگین وقتی درست شد براتون می ذارم

meitti
سه شنبه 14 مهر 1388, 11:18 صبح
اگه بذارین که ممنون میشم

majidsoft
چهارشنبه 15 مهر 1388, 00:43 صبح
با سلام من از این کد برای خواندن عکس استفاده می کنم

If cmbresp.Text = "" Then Exit Sub
Dim dataSet As DataSet = New DataSet
Dim adapter As SqlDataAdapter = New SqlDataAdapter("Select * from information where (vahed like @vahed) and (lname like @lname)", Fn_Get_SqlConnection())
'adapter.SelectCommand.Parameters.AddWithValue("@vahed", frmmain.txtvahed.Text)
'adapter.SelectCommand.Parameters.AddWithValue("@lname", cmbresp.Text)
adapter.SelectCommand.Parameters.AddWithValue("@vahed", "اسیاب")
adapter.SelectCommand.Parameters.AddWithValue("@lname", cmbresp.Text)
adapter.Fill(dataSet, "information_tbl")
Dim arrayImage() As Byte = CType(dataSet.Tables(0).Rows(0)("aks"), Byte())
Dim ms As New MemoryStream(arrayImage)
With Me.PictureBox1
.Image = Image.FromStream(ms)
.SizeMode = PictureBoxSizeMode.CenterImage
.BorderStyle = BorderStyle.Fixed3D
.SizeMode = PictureBoxSizeMode.StretchImage
End With

majidsoft
چهارشنبه 15 مهر 1388, 00:44 صبح
' Dim CNN As SqlConnection = Fn_Get_SqlConnection()
'***********************ثبت اطلاعات***************************
' Dim ms As New MemoryStream
' PictureBox1.Image.Save(ms, PictureBox1.Image.RawFormat)
' Dim arrimage() As Byte = ms.GetBuffer
' CNN.Open()
' Dim strsql As String = "insert into REST(EMZA)values(@AKS)"
' Dim cmd As New SqlCommand(strsql, CNN)
' With cmd
' .Parameters.Add(New SqlParameter("@AKS", SqlDbType.Image)).Value = arrimage
' End With
' cmd.ExecuteNonQuery()
' CNN.Close()
و از این کد برای ذخیره کردن

majidsoft
چهارشنبه 15 مهر 1388, 00:46 صبح
' Dim CNN As SqlConnection = Fn_Get_SqlConnection()
'***********************ثبت اطلاعات***************************
' Dim ms As New MemoryStream
' PictureBox1.Image.Save(ms, PictureBox1.Image.RawFormat)
' Dim arrimage() As Byte = ms.GetBuffer
' CNN.Open()
' Dim strsql As String = "insert into REST(EMZA)values(@AKS)"
' Dim cmd As New SqlCommand(strsql, CNN)
' With cmd
' .Parameters.Add(New SqlParameter("@AKS", SqlDbType.Image)).Value = arrimage
' End With
' cmd.ExecuteNonQuery()
' CNN.Close()
و از این کد برای ذخیره کردن