تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
حذف صورة من قاعدة البيانات بعد تحديدها من ListView
#1
بسم الله الرحم الرحيم
الموضوع يتلخص فى الآتى :

لدى قاعدة بيانات Access بها جدولين Tab1 و Tab2
Tab1 به أعمدة id , nam, NuPhone
Tab2 به أعمدة id , idname , idnam , Picture

حيث يتم الاتصال بالجدولين بحيث يتم حفظ الصور الخاصة بالأسم من الجدول Tab1 بالجدول Tab2 مع حفظ اسم الصورة فى الجدول Tab2
كما فى الصورة



المطلوب
1. اظهار اسم الصورة من العمود idnam بدلا من رقم الصورة اسفل كل الصورة من العمود idname
2. المشكلة فى زر (حذف الصورة )  يحث عند تعديل كود  FillListView التالى :
كود :
Public Sub FillListView(id As Integer)
       ImageList1.Images.Clear()
       ListView1.Items.Clear()
       Dim Cmd As New OleDbCommand("select * from Tab2 where idname=@id", con)
       Cmd.Parameters.AddWithValue("@id", id)
       If con.State = ConnectionState.Closed Then con.Open()
       Using dr As OleDbDataReader = Cmd.ExecuteReader
           Dim t As New DataTable
           t.Load(dr)
           If t.Rows.Count > 0 Then
               For i As Integer = 0 To t.Rows.Count - 1
                   Dim bytes() As Byte = CType(t(i)("Picture"), Byte())
                   Dim memStream As MemoryStream = New MemoryStream(bytes)
                   Dim img As System.Drawing.Image
                   img = Image.FromStream(memStream)
                   ImageList1.Images.Add(img)


                   With ListView1
                       .Items.Add(t(i)("id").ToString, i)
                       
                   End With

               Next
           End If
       End Using

فى الجزء الخاص بـ With Listview1 ليصبح idnam بدلا من id
كود :
                   With ListView1
                       .Items.Add(t(i)("idnam").ToString, i)
                       
                   End With

كما فى الصورة



أرجو ان يكون هناك حل لهذه المشكلة من الأخوة الكرام
ولكم جزيل الشكر مقدما
تم الشكر بواسطة:
#2
الخطا الواضح من هذه الصورة


انك استخدمت ExecuteScalar بطريق الخطا 
يفترض تكتب
كود :
select count(id) 
ثم تكمل
جرب واكتب رد
تم الشكر بواسطة: Sajad
#3
(27-06-15, 11:53 PM)سعود كتب : الخطا الواضح من هذه الصورة


انك استخدمت ExecuteScalar بطريق الخطا 
يفترض تكتب
كود :
select count(id) 
ثم تكمل
جرب واكتب رد

اخى الفاضل سعود

حضرتك لو لاحظت انه لوكان كود ملء الـ 1Listview بالكود من خلال الـ ("id")
فعملية الحذف تتم بدون مشاكل
كود :
With ListView1
                       .Items.Add(t(i)("id").ToString, i)

                   End With

لكن عند تغيير الكود لصبح كتالى مع ملاحظة تغيير الـ ("id") لتصبح الـ ("idnam")
لأظهار اسم الصورة اسفلها فى الـ Listview1 يظهر الخطأ السابق الظاهر فى الصورة فى بداية سؤالى
كود :
With ListView1
                       .Items.Add(t(i)("idnam").ToString, i)

                   End With

ولو حضرتك لاحظت كمان انه عند تحديد صورة فى الـ Listview1 للقيام بعملية الحذف للصورة المحددة يظهر اسم الصورة فى TextBox1 بدلا من رقم الصورة الموجود فى idname فى Tab2 الذى يأخد رقم الصف من id  فى Tab1

المشكلة انى مش عارف اصل لتعديل الكود بحيث انه يظهر اسم الصورة فى اسفل الصورة فى الـ Listview1 وعند تحديدها يظهر رقم الصورة الموجود فى idname فى Tab2

لو حبيت ارفع لحضرتك المثال بعد تعديل قاعد البيانات بإضافة الـ Column المسمى idnam

انا اعتقد ان المشكلة مش فى جملة الاستعلام فى رز الحذف
اعتقد المشكلة عند تغيير جملة with Listview من ("id") اتصبح ("idnam") تحدث المشكلة فى جملة الاستعلام فى زر الحذف

هناك أيضا الكود فى الـ DatagridView1 فى حدث CellMouseClick له تأثير فى الخطأ الحادث أن لم أكن مخطئ
كود :
        Private Sub DataGridView1_CellMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles DataGridView1.CellMouseClick
       If e.RowIndex = -1 Then Exit Sub

       TextBox1.Text = DataGridView1.Item(0, e.RowIndex).Value
       TextBox2.Text = DataGridView1.Item(1, e.RowIndex).Value
       TextBox3.Text = DataGridView1.Item(2, e.RowIndex).Value
       FillListView(DataGridView1.Item(0, e.RowIndex).Value)

       PictureBox1.Image = Nothing
   End Sub
تم الشكر بواسطة:
#4
تم اغلاق الموضوع بناء على طلب صاحب الموضوع

يعطيكم العافية
(( يَا أَيَّتُهَا النَّفْسُ الْمُطْمَئِنَّةُ ارْجِعِي إِلَى رَبِّكِ رَاضِيَةً مَرْضِيَّةً فَادْخُلِي فِي عِبَادِي وَادْخُلِي جَنَّتِي ))

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [Acces2010] عمل قاعدة بيانات لنظام غيابات الطلبة hassan karim 0 95 08-02-21, 02:36 PM
آخر رد: hassan karim
  ملى الصفحة تلقائياً او ربط مستعرض الانترنت بقاعدة البيانات علي عدنان 2 2,309 02-02-21, 01:31 AM
آخر رد: فارس زيدان
  [سؤال] مشكلة اضافة التاريخ مع قاعدة بيانات alims 6 305 25-01-21, 02:45 AM
آخر رد: alims
  اسناد عامود في قاعدة بيانات اكسيس الى عامود من نوع كومبوبوكس بالداتا جريد فيو بالفيجو Ghassanfff 2 682 08-01-21, 08:52 PM
آخر رد: سعود
  كود عدم تكرار البيانات بالداتا جريد فيو ِAbou Sama 4 4,628 04-12-20, 10:59 PM
آخر رد: Osama_NY
Lightbulb عمودين تم تشفيرهم في قاعدة بيانات SQL 2014 ibrahematia 2 418 22-11-20, 10:13 PM
آخر رد: ibrahematia
  اريد ترقية قاعدة بيانات برنامجي فإلى ايهم تقترحوا علي alfaiz678 5 977 22-11-20, 10:10 PM
آخر رد: sendbad100
  طلب طريقة تصدير قاعدة بيانات m4n2net2000 0 263 12-11-20, 01:59 PM
آخر رد: m4n2net2000
  ضغط قاعدة البياانات عمور2016 6 695 08-11-20, 01:26 PM
آخر رد: amer2000
  اعادة ترتيب الارقام في قاعدة بيانات اكسس aftfm 0 213 07-11-20, 03:24 PM
آخر رد: aftfm

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


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