تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كود حفظ صورة في قاعدة البيانات sql
#11
(23-02-20, 12:45 AM)aldery كتب :
(23-02-20, 12:41 AM)عبد العزيز البسكري كتب :
سيكون الشكل بهذه الطريقة .. راجع أسماء كود الإتصال لو سمحت ..
كود :
Imports System.Data.SqlClient
Imports System.IO
Public Class Form1
   Public Constr As String = "Server=YourServerName;Database=YourDatabaseName;Integrated Security=False;User Id=YourNameLogin;Password=YourPasswordSqlServer"
   Public Conne_2020 As New SqlClient.SqlConnection(Constr)
   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       Dim Cmd As New SqlCommand
       With Cmd
           Cmd.Connection = Conne_2020
           Cmd.CommandType = CommandType.Text
           Cmd.CommandText = "UPDATE TBL_STUDENT SET STUDENT_Picture=@STUDENT_Picture Where STUDENT_Id=@STUDENT_Id"
           Cmd.Parameters.Clear()

           'Update PictureBox
           Dim Ms_Photo As New MemoryStream()
           Dim bmpImage As New Bitmap(PictureBox1.Image)
           bmpImage.Save(Ms_Photo, System.Drawing.Imaging.ImageFormat.Jpeg)
           Dim Data_Photo As Byte() = Ms_Photo.GetBuffer()
           Dim PhotoPersonnelle As New SqlParameter("@STUDENT_Picture", SqlDbType.Image)
           PhotoPersonnelle.Value = Data_Photo
           Cmd.Parameters.Add(PhotoPersonnelle)

           Cmd.Parameters.AddWithValue("@STUDENT_Id", SqlDbType.Int).Value = TextBox1.Text

       End With
       Try
           If Conne_2020.State = 1 Then Conne_2020.Close()
           Conne_2020.Open()
           Cmd.ExecuteNonQuery()
           Conne_2020.Close()
           Cmd = Nothing
           MessageBox.Show("تمت بنجاح عملية حفظ الصورة و تعديل البيانات", "تعديل البيانات", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
       Catch ex As Exception
           Conne_2020.Close()
           MsgBox(Err.Description, MsgBoxStyle.Information)
       Finally
           If Conne_2020.State = ConnectionState.Open Then Conne_2020.Close()
       End Try
   End Sub
   Private Sub Choose_Picture_From_Computer(Pbox As PictureBox)
       Try
           Dim Ofn As New OpenFileDialog
           With Ofn
               Ofn.AddExtension = True
               Ofn.CheckPathExists = True
               Ofn.CheckFileExists = True
               Ofn.Title = "إختيار الصورة الرمزية"
               Ofn.Filter = "Choose Image (*.PNG; *.JPG; *.GIF; *.JPEG)| *.PNG; *.JPG; *.GIF; *.JPEG | All Files (*.*)|*.*"
               Ofn.FilterIndex = 4
               Ofn.Multiselect = False
               If .ShowDialog = DialogResult.OK Then
                   Pbox.Image = Image.FromFile(.FileName)
               End If
           End With
       Catch ex As Exception
           MessageBox.Show(ex.Message, "خطأ غير متوقّع أثناء تحميل الصّورة", MessageBoxButtons.OK, MessageBoxIcon.Error)
       End Try
   End Sub
   Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
       Choose_Picture_From_Computer(PictureBox1)
   End Sub
End Class


أشكرك جداً وفقك الله ورزقك  Heart

(23-02-20, 12:42 AM)alsalamoni كتب :
(23-02-20, 12:28 AM)aldery كتب :
(23-02-20, 12:12 AM)alsalamoni كتب :
(22-02-20, 11:38 PM)aldery كتب : السلام عليكم ورحمة الله , كيفكم أخواني إن شاء الله تكونو بخير .

لدي قاعدة بيانات sql و خانات متعددة واحتاج كود اضافة الصورة على حسب رقم الشخص

مثال : المعرف | احمد | العمر | رقم الهاتف | الصورة 

عندما أكتب الid الخاص في الشخص و أحفظ يقوم الكود بحفظ الصورة في الخانة المخصصة له 

هذه صورة لقاعدة البيانات + صورة للواجهة 






من الصورة يبدو ان نوع حقل الصورة ليس image

ضع الكود الذي لديك لتعديله
مع تحديد نوع حقل الصورة
وهل تريد حفظ الصورة ام مسارها؟

كود :
Imports System.Data.SqlClient
Imports System.IO
Public Class Form1
    Dim fName As String

    Dim cnn As SqlConnection
    Dim connectionString As String

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        connectionString = "server=DESKTOP-CRKR4GN\Afkee; database=list1; integrated security=true"
        cnn = New SqlConnection(connectionString)
        fName = "D:\picfile.jpg"
        If File.Exists(fName) Then
            Dim id As Integer = 1
            Dim content As Byte() = ImageToStream(fName)
            cnn.Open()

            Dim cmd As New SqlCommand("insert into imgtable (id,img) values ( @id,@img)", cnn)
            cmd.Parameters.AddWithValue("@id", id)
            cmd.Parameters.AddWithValue("@img", content)
            cmd.ExecuteNonQuery()

            cnn.Close()
            MsgBox("Image inserted")
        Else
            MsgBox(fName & " not found ")
        End If
    End Sub

    Private Function ImageToStream(ByVal fileName As String) As Byte()
        Dim stream As New MemoryStream()
tryagain:
        Try
            Dim image As New Bitmap(fileName)
            image.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg)
        Catch ex As Exception
            GoTo tryagain
        End Try

        Return Stream.ToArray()
    End Function
End Class


أخي هذا الكود 

بلنسبة لقاعدة بيانات هي بلفعل يوجد بها حقل صورة 

اريد حفظ الصورة وليس المسار  وهذا صورة لمكان الصورة


افترضت ان id ترقيم تلقائي لهذا حذفته من امر الاضافه
كود :
Imports System.Data.SqlClient
Imports System.IO

Public Class Form1

   Dim fName As String

   Dim cnn As New SqlConnection("Data Source=servername; Initial Catalog=databasename; User ID=sa; Password=password")
   Dim connectionString As String

   Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click

       fName = "D:\picfile.jpg"
       If Not File.Exists(fName) Then
           MsgBox("not found")
           Exit Sub
       End If

       Dim cmd As New SqlCommand("insert into imgtable (img) values(@img)", cnn)
       cmd.Parameters.AddWithValue("@img", File.ReadAllBytes(fName))

       cnn.Open()
       If cmd.ExecuteNonQuery() = 1 Then
           MsgBox("Image inserted")
       End If
       cnn.Close()

   End Sub

End Class

شكراً لك على جهودك وفقك الله وراعك بلفعل قام الأخ بحل المشكلة  Heart

العفو اخي
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  هل من الممكن العمل على قاعدة بيانات اكسل على الفيجوال بيسك خالد كامل1 4 80 24-03-24, 02:00 AM
آخر رد: خالد كامل1
  تعديل كود ارسال صورة الى الواتس new_programer 2 114 21-03-24, 10:07 PM
آخر رد: new_programer
  [VB.NET] حل مشكلة الاتصال بقواعد البيانات access loay775 2 158 25-02-24, 06:29 AM
آخر رد: loay775
  انشاء قاعدة بيانات من ملف سكربت strongriseman 5 500 17-02-24, 02:57 PM
آخر رد: strongriseman
  سؤال عن عملية حذف سجل من قاعدة البيانات assuhimi 3 249 11-02-24, 08:43 PM
آخر رد: assuhimi
  فلترة datagridview بدون قاعدة بيانات صالح عبدالله 3 295 02-02-24, 04:07 PM
آخر رد: صالح عبدالله
  [VB.NET] منع تكرار البيانات في عند الادخال مبرمج صغير 1 2 255 24-01-24, 05:18 PM
آخر رد: مبرمج صغير 1
Photo [كود] مطلوب كود يستخدم الأوامر فقط لتحديث قاعدة بيانات بـ vb.net AhmedEissa 4 638 18-01-24, 11:40 PM
آخر رد: العتيق
  [VB.NET] مساعدة في استدعاء البيانات معينه من form الأول إلى form 2 بدون التعديل loay775 2 272 18-01-24, 05:04 PM
آخر رد: loay775
  [VB.NET] إعادة استدعاء البيانات من قاعدة بيانات اكسس والاهم الصورة مبرمج صغير 1 1 273 13-01-24, 01:17 PM
آخر رد: مبرمج صغير 1

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم