مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

mary_en

عضویت از 1396/05/10

ذخیره سازی تصویر کالاهای مختف در دیتابیس اکسس

  • سه شنبه 10 مرداد 1396
  • 23:11
تشکر میکنم

سلام به دوستان عزیز
من باید فرمی رو طراحی کنم که به شکل زیر هست:
http://uupload.ir/files/e0wb_11.jpg
---------------------------------------------------
کاری که میخوام بکنم اینه:
1- با کلیک روی باتن مقابل "تصویر" ادرسش توی تکست باکس تصویر بیاد و خود عکس هم توی picbox نمایش بشه
2-برای هر کالا این تصویر توی دیتابیسم که اکسس هست ذخیره بشه(مثل سایر مشخصات هر کالا که به تیبل من bind هست) و با انتخاب هر کالا از گرید پایین فرم، این تصویر هم لود بشه توی picbox به همراه سایر مشخصات دیگه(بقیه مشخصاتش رو انجام دادم فقط لود تصویر رو نمیدونم چجور انجامش بدم)
--------------------------------------------------
(یه مثالی که اینجا به ذهنم میرسه؛ توی تعریف چند کاربر برای لاگین یه برنامه هست که اونجا مشخصات کاربران رو توی setting ذخیره میکردیم و همونجا عکس کاربران رو هم وارد میکردیم بعد هر سری این عکس با ورود هر کاربر از setting خونده میشد و لود میشد توی picbox...... البته اونجا تعداد کاربر محدود و کم هست اما اینجا باید قابلیت ذخیره هر تعداد کالارو داشته باشم و این به نظرم دیگه توی setting نباید ذخیره بشه درسته؟؟)

و یه نکته دیگه باید اینکارو با VB انجام بدم نه سی شارپ...
-------------------------------------------------
ممنون میشم دوستان عزیز کمکم کنن

پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

رضا نصیری

عضویت از 1392/10/01

  • سه شنبه 25 مهر 1396
  • 13:37

کد ذخیره:

Dim bytImage() As Byte


Private Sub btnbrowse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnbrowse.Click
    Dim dialog As New OpenFileDialog()
    dialog.Title = "Browse Picture"
    dialog.Filter = "Image Files(*.BMP;*.JPG;*.GIF;*.PNG)|*.BMP;*.JPG;*.GIF;*.PNG"
    If dialog.ShowDialog() = Windows.Forms.DialogResult.OK Then
        PictureBox1.Image = Image.FromFile(dialog.FileName)
    End If
End Sub

Private Sub btnsave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsave.Click
    Try
        Dim ms As New System.IO.MemoryStream
        Dim bmpImage As New Bitmap(PictureBox1.Image)

        bmpImage.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg)
        bytImage = ms.ToArray()
        ms.Close()
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
    cn.Open()
    cm.Connection = cn
    cm.CommandType = CommandType.Text
    cm.CommandText = "INSERT INTO `pic1` (pic) VALUES (@image)"
    cm.Parameters.AddWithValue("@image", bytImage)
    cm.ExecuteNonQuery()
    cn.Close()
    MsgBox("Image Saved.")
End Sub

کد نمایش عکس از دیتابیس:

Dim connection As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=D:\AddressBook.mdb")

Dim command As New System.Data.OleDb.OleDbCommand("SELECT image FROM tblContacts WHERE ID = 22", connection)

connection.Open()
Dim pictureData As Byte() = DirectCast(command.ExecuteScalar(), Byte())
connection.Close()

Dim pictures As Image = Nothing

Using stream As New System.IO.MemoryStream(pictureData)
pictures = Image.FromStream(stream)

End Using

شاید دقیقا منظور شما نباشه. ولی باید خودتون کاستومایز کنید. موفق باشید

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)