تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشكلة في حفظ الصورة في sqlite وعرضها في datagridview و pictuer
#1
السلام عليكم ورحمة الله وبركاته
بعد إذنكم محتاج مساعدة في المسألة التالية


قاعدة البيانات sqlite
مشروع ببرنامج فيجوال بيسك 2012
قمت بالتعامل مع القاعدة 
من حيث الاضافة والتعديل والحذف والبحث بدون مشاكل والحمد لله

المشكلة عندما جئت أحفظ صورة أخترت نوع الحقل clob في القاعدة 


وتم الحفظ ولكن اسلوب العرض سواء في PictureBox او datagridview 


لم أستطع التعامل معهم بالاكواد المستعملة مع قاعدة access
فهل من الممكن المساعدة في الحصول على كود
حفظ الصورة واستعادتها لعرضها في PictureBox او datagridview



في حالة القاعدة sqlite



ملحوظة

أستعملت الاكواد التالية 



كود :
            '-4------------- تشفير الصورة --------------
                   If OpenFileDialog1.FileName <> "" Then
                       Dim imgbytearray() As Byte
                       Dim stream As New MemoryStream
                       PicCust_Image.Image.Save(stream, ImageFormat.Jpeg)
                       imgbytearray = stream.ToArray()
                       stream.Close()
                       dr!Cust_Image = imgbytearray
                   End If
                   '====================================================



           '################كود فك تشفير الصورة ###############
           If IsDBNull(dr!Cust_Image) = False Then
               Dim imgbytearray() As Byte
               imgbytearray = CType(dr!Cust_Image, Byte())
               Dim stream As New MemoryStream(imgbytearray)
               Dim bmp As New Bitmap(stream)
               PicCust_Image.Image = Image.FromStream(stream)
               stream.Close()
               labelpic.Visible = False
           End If
           '#########################################



  Dim PIC_() As Byte = CType(dt.Rows(dt.Rows.Count - 1).Item("PicCode"), Byte())
           Dim MS As New MemoryStream(PIC_)
           PicCode.Image = Image.FromStream(MS)



وأيضا هل من طريقة لعمل كلمة مرور للقاعدة مثل الاكسس



وجزاكم الله خيرا
لا إله إلا الله وحده لا شريك له له الملك وله الحمد وهو على كل شئ قدير
سبحان الله وبحمده سبحان الله العظيم
سبحان الله والحمد لله ولا إله إلا الله والله أكبر ولا حول ولا قوة إلا بالله العلى العظيم
رب أغفر لي 

الرد }}}
تم الشكر بواسطة:
#2
السلام عليكم ورحمة الله وبركاته

هذة المشاركة للإفادة

أولا الحمد لله  تم حل المشكلة

أنشئت قاعديتن بنفس الجدوال ونفس الحقول 
كل واحدة ببرنامج مختلف 
الأول SQLite Maestro
والثاني  DB Browser (SQLite)

المشكلة كان من محرر قواعد الأول
اضافة بيانات  وصور  جيد جدا ولكن التعديل فيه مشكلة
ولا أعلم ما السبب في ذلك

السبب الثاني والأهم كان نوع الحقل  Blob   وليس Clob

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

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

أكواد الاضافة والعرض للصورة هي المذكورة في الموضوع


ثانيا يتبقى موضوع كلمة المرور للقاعدة 
بحثت كثيرا ووجدت بعض الاكواد ولكنها لا تعمل لدي ( وأكيد السبب قلة خبرتي )

أكثر الأكواد الشائعة التالي

كود :
Dim databaseName = "testdbsqlepw"
   Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click

       ''create db
       SQLiteConnection.CreateFile(databaseName)
       ''sett conn details
       Dim sqlConn As SQLiteConnection = New SQLiteConnection()
       sqlConn.ConnectionString = "DataSource=c:\aaaa\" & databaseName & ";Version=3;New=False;Compress=True;"


       ''open and change password
       sqlConn.Open()
       sqlConn.ChangePassword("hello")
       sqlConn.Close()

   End Sub

   Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
       ''next time you open db use this code:
       Dim sqlConn As SQLiteConnection = New SQLiteConnection()

       If sqlConn.State = 1 Then sqlConn.Close()
       Try
           sqlConn = New SQLiteConnection("DataSource=c:\aaaa\testdbsqlepw;Version=3;New=False;Compress=True;Password=hello;")
           sqlConn.Open()
           MsgBox("تم الأتصال بقاعدة البيانات", MsgBoxStyle.Information, "رسالة تأكيد")
       Catch ex As Exception
           MsgBox("فشل في عملية الأتصال بقاعدة البيانات", MsgBoxStyle.Exclamation, "ERROR")
           cons.Close()
           End
       End Try


   End Sub

والنتيجة انه لا استطيع تشغيل القاعدة والاتصال بها

فما هي الطريقة الصحيحة بارك الله فيكم

لا إله إلا الله وحده لا شريك له له الملك وله الحمد وهو على كل شئ قدير
سبحان الله وبحمده سبحان الله العظيم
سبحان الله والحمد لله ولا إله إلا الله والله أكبر ولا حول ولا قوة إلا بالله العلى العظيم
رب أغفر لي 

الرد }}}
تم الشكر بواسطة:



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


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