منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : تغيير مكان حفظ الصورة من قاعدة البيانات إلى مجلد في مسار البرنامج
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2 3 4
نفس الرسالة يابوخالد الصورة قيد الإستخدام من قبل برنامج آخر يابوخالد

راح أسوي لك نفس البرنامج بس مصغر وأرفعه لك شرايك
هذا المشروع يابوخالد

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

وشغله ثانية بعد وهي إذا نقلت البرنامج إلى جهاز آخر الصور لا تظهر بسبب تغير مسارها
الله يعطيك العافية أخوي justforit

بس أوصل للبيت راح أراجع الرابط

مشكور وماقصرت
يا سلام عليك يا أخ justforit تمت جزاك الله خير

بس باقي الحذف حيث عندما أحذف سجل الصورة لاتزال موجوده في الفولدر
لحل مشكلة حذف الصورة من المجلد قم بتغيير كود Delete_Car_Arshef ليصبح كما يلي :

كود :
Public Sub Delete_Car_Arshef(ByVal dgv_Car_Arshef As DataGridView)

       Dim Position As Integer = dgv_Car_Arshef.CurrentRow.Index
       Dim ID_Position As Integer = dgv_Car_Arshef.Rows(Position).Cells("ID").Value
       Dim imagePath As String = String.Empty
       Dim getImagePathCmd As New OleDbCommand("SELECT Car_Doc FROM Car_Arshef WHERE ID = @ID", con)

       getImagePathCmd.Parameters.AddWithValue("@ID", OleDbType.Integer).Value = ID_Position
       If con.State = ConnectionState.Closed Then con.Open()
       imagePath = getImagePathCmd.ExecuteScalar().ToString()
       con.Close()

       Dim deleteCmd As New OleDbCommand("DELETE FROM Car_Arshef WHERE ID = @ID", con)
       deleteCmd.Parameters.AddWithValue("@ID", OleDbType.Integer).Value = ID_Position
       If con.State = ConnectionState.Closed Then con.Open()
       deleteCmd.ExecuteNonQuery()
       con.Close()

       Dim fullPath As String = Path.Combine(Application.StartupPath, imagePath)
       If File.Exists(fullPath) Then
           File.Delete(fullPath)
       End If

        MsgBox("تم حذف الصورة بنجاح.", MsgBoxStyle.Information, "حذف")

   End Sub
الله يجزاك خير أخوي بوخالد الشكر موصول للأخ justforit ماقصرتوا الأمور تمام التمام

لكن لي طلب أخير عسى الله يحفظك

كنت طلبت من أحد الأخوة في حال ضغطت على الصورة أن يتم فتحها ببرنامج الصور للويندوز والأخ ماقصر وعمل لي الكود ولكنه يفتح في حال أن الصورة في قاعدة البيانات الآن الأمر إختلف حيث أن الصورة أصبحت الآن في مجلد بالويندوز

هذا هو الموضوع
http://vb4arb.com/vb/showthread.php?tid=50521
أنا الذي أجبتك في تفس المشاركة 
http://vb4arb.com/vb/showthread.php?tid=50521

وقلت لي الكود الأخير يعمل على أكمل وجه

كود :
 If PictureBox1.Image IsNot Nothing Then
           Dim tempFilePath As String = System.IO.Path.Combine(System.IO.Path.GetTempPath(), "tempImage.png")
           Using tempImage As New Bitmap(PictureBox1.Image)
               tempImage.Save(tempFilePath, System.Drawing.Imaging.ImageFormat.Png)
           End Using
           Process.Start(tempFilePath)
       End If

جرب الكود التالي الذي يعمل عند النقر المزدوج على الصورة
كود :
  Private Sub Car_Doc_DoubleClick(sender As Object, e As EventArgs) Handles Car_Doc.DoubleClick
       If Car_Doc.Image IsNot Nothing Then
           Dim tempFilePath As String = System.IO.Path.Combine(System.IO.Path.GetTempPath(), "tempImage.png")
           Using tempImage As New Bitmap(Car_Doc.Image)
               tempImage.Save(tempFilePath, System.Drawing.Imaging.ImageFormat.Png)
           End Using
           Process.Start(tempFilePath)
       End If
   End Sub
أخي العزيز أبوخالد

صحيح قلت لك بأن الكود يعمل بلا مشاكل وهذا صحيح ولكنه يعمل عندما كانت الصورة موجوده في قاعدة البيانات الآن الأمر إختلف الصورة الآن موجوده في مجلد على الكمبيوتر فالكود السابق لايصلح
أنا عندي شغال 100%
عند النقر على الصورة نقرا مزدوجا Double_Click
فإن الصورة يتم عرضها من خلال برنامج الصور الافتراضي في كمبيوترك
أدخل الكود الأخير بالكامل بدون نقصان ، واعطني النتيجة .
الله إنك صادق آسف لم ألاحظ فأنا أخذت من كلام Zuhare حيث قال بأن الكود يختلف في حال كانت الصورة في قاعدة البيانات من كونها في مجلدة بالكمبيوتر

أشكرك أخي العزيز أبوخالد وآسف على سوء الفهم
الصفحات : 1 2 3 4