View Full Version : نحوه ذخیره عکس در VB.NET
Agha30NA
سه شنبه 23 آذر 1389, 20:54 عصر
نحوه ذخیره عکس در VB.NET
سلام دوستان یک نرم افزار آماده کردم فقط مونده قسمت ذخیره عکس
برای هر فرد نیاز به دریافت عکس دارم .
از بانک access استفاده می کنم.
لطفا راهنمایی کنید چیکار کنم . با سپاس
milad.biroonvand
سه شنبه 23 آذر 1389, 22:37 عصر
نحوه ذخیره عکس در VB.NET
سلام دوستان یک نرم افزار آماده کردم فقط مونده قسمت ذخیره عکس
برای هر فرد نیاز به دریافت عکس دارم .
از بانک access استفاده می کنم.
لطفا راهنمایی کنید چیکار کنم . با سپاس
اول یه فیلد تو دیتابیست اضافه کن که نوعش oledbobject باشه .
بعد باید با کد های زیر بعد از گرفتن مسیر ورودی از هاست باید بصورت زیر عمل کنی
milad.biroonvand
سه شنبه 23 آذر 1389, 22:44 عصر
ببخشید منظورم از هاست تو پست بالا همون آدرسی که عکس بر روی هارده ، مثلا درایود دی
کد
'First save the image to the table
Private Function SaveImageToDB(ByRef name As String) As Boolean
Try
Dim conn As New OleDbConnection
Dim cmd As OleDbCommand
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\YourDBFile.mdb;User Id=YourUsername;Password=YourPassword;"
conn.Open()
cmd = conn.CreateCommand()
cmd.CommandText = "INSERT INTO ImageTable(ImageName, Image) VALUES (@Name, @Image)"
Dim imgByteArray() As Byte
Try
Dim stream As New MemoryStream
Dim bmp As New Bitmap(stream)
bmp.Save(stream, ImageFormat.Jpeg)
imgByteArray = stream.ToArray()
stream.Close()
cmd.Parameters.AddWithValue("@Name", name)
cmd.Parameters.AddWithValue("@Image", imgByteArray)
If DirectCast(cmd.ExecuteNonQuery(), Integer) > 0 Then
Return True
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
Return False
End Try
conn.Close()
cmd.Dispose()
conn.Dispose()
Catch ex As Exception
MessageBox.Show(ex.Message)
Return False
End Try
End Function
'Retrieve image from table
Public Function GetImageFromDB(ByRef imageName As String) As Bitmap
Try
Dim conn As New OleDbConnection
Dim cmd As OleDbCommand
Dim reader As OleDbDataReader
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\YourDBFile.mdb;User Id=YourUsername;Password=YourPassword;"
conn.Open()
cmd = conn.CreateCommand()
cmd.CommandText = "SELECT Image FROM ImageTable WHERE ImageName = '" & imageName & "'"
reader = cmd.ExecuteReader
If reader.Read Then
Dim imgByteArray() As Byte
Try
imgByteArray = CType(reader(0), Byte())
Dim stream As New MemoryStream(imgByteArray)
Dim bmp As New Bitmap(stream)
stream.Close()
Return bmp
Catch ex As Exception
MessageBox.Show(ex.Message)
Return Nothing
End Try
End If
reader.Close()
conn.Close()
cmd.Dispose()
conn.Dispose()
Catch ex As Exception
MessageBox.Show(ex.Message)
Return Nothing
End Try
End Function
milad.biroonvand
سه شنبه 23 آذر 1389, 22:46 عصر
ببخشید منظورم از هاست تو پست بالا همون آدرسی که عکس بر روی هارده ، مثلا درایود دی
کد
'First save the image to the table
Private Function SaveImageToDB(ByRef name As String) As Boolean
Try
Dim conn As New OleDbConnection
Dim cmd As OleDbCommand
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\YourDBFile.mdb;User Id=YourUsername;Password=YourPassword;"
conn.Open()
cmd = conn.CreateCommand()
cmd.CommandText = "INSERT INTO ImageTable(ImageName, Image) VALUES (@Name, @Image)"
Dim imgByteArray() As Byte
Try
Dim stream As New MemoryStream
Dim bmp As New Bitmap(stream)
bmp.Save(stream, ImageFormat.Jpeg)
imgByteArray = stream.ToArray()
stream.Close()
cmd.Parameters.AddWithValue("@Name", name)
cmd.Parameters.AddWithValue("@Image", imgByteArray)
If DirectCast(cmd.ExecuteNonQuery(), Integer) > 0 Then
Return True
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
Return False
End Try
conn.Close()
cmd.Dispose()
conn.Dispose()
Catch ex As Exception
MessageBox.Show(ex.Message)
Return False
End Try
End Function
'Retrieve image from table
Public Function GetImageFromDB(ByRef imageName As String) As Bitmap
Try
Dim conn As New OleDbConnection
Dim cmd As OleDbCommand
Dim reader As OleDbDataReader
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\YourDBFile.mdb;User Id=YourUsername;Password=YourPassword;"
conn.Open()
cmd = conn.CreateCommand()
cmd.CommandText = "SELECT Image FROM ImageTable WHERE ImageName = '" & imageName & "'"
reader = cmd.ExecuteReader
If reader.Read Then
Dim imgByteArray() As Byte
Try
imgByteArray = CType(reader(0), Byte())
Dim stream As New MemoryStream(imgByteArray)
Dim bmp As New Bitmap(stream)
stream.Close()
Return bmp
Catch ex As Exception
MessageBox.Show(ex.Message)
Return Nothing
End Try
End If
reader.Close()
conn.Close()
cmd.Dispose()
conn.Dispose()
Catch ex As Exception
MessageBox.Show(ex.Message)
Return Nothing
End Try
End Function
اگه بازم تو کد بالا مشکل داشتی بگو تا یه نمونه پروژه برات بزارم
اینم ایمیلمه
azad222@gmail.com
خواجه محمدی
شنبه 28 آبان 1390, 21:42 عصر
سلام خسته نباشید من دارم باvb.net یک پروژه می نویسم می خواهم یک عکس را browse کنم ذخیره بکنم من باید از چه کنترلی استفاده کنم (در واقع باید ازpicture box استفاده کنم)
sanay_esh
شنبه 28 آبان 1390, 21:49 عصر
بله شما باید از picture box استفاده نمائید
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.