تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
خطأ في الحفظ بدون صورة
#1
السلام عليكم 

من فظلكم تصحيح الكود عند حفظ الصنف بإضافة صورة يحفظ عادي بدون مشاكل 
لكن عند الحفظ بدون صورة يأتي هذا الخطأ



و ايضا نفس الشيئ بالنسبة للتعديل عند تغيير الصورة يعدل الصنف عادي بدون مشاكل 

اما عند ابقاء الصورة السابقة المستوردة من قاعدة البيانات و الضغط على تعديل يأتي هذا الخطأ 

------------------------
منكم أتعلم
------------------------

الرد
تم الشكر بواسطة:
#2
الموضوع بسيط لكن شلون اشرحه لك؟
اكتب بارامترين للحفظ 
واحد يحتوي حفظ صورة وآخر بدون حفظ صورة.
#29 
الرد
تم الشكر بواسطة: sofiane-phy , عبد العزيز البسكري
#3
ممكن حل أخر بدون التكرار يعني كود واحد يفي بالغرض
------------------------
منكم أتعلم
------------------------

الرد
تم الشكر بواسطة:
#4
(24-10-20, 01:27 AM)sofiane-phy كتب : ممكن حل أخر بدون التكرار يعني كود واحد يفي بالغرض

هو اللي حيتنفذ كود واحد فقط لكن بناء على شرط هل الميموري ستريم فارغة ام لا ان كانت فارغة هذا يعني لم يتم اختيار صورة سواءا كجديد او تعديل.
PHP كود :
       Dim row As DataRow dt.NewRow
        row
(1) = tname.Text
        row
(2) = CDate(dob.Text).ToShortDateString
        If IsNothing
(ms) = False Then
            row
(3) = ms.ToArray
        End 
If
 
       dt.Rows.Add(row)
 
       da.Update(dt)
 
       ms Nothing 
السابق للجديد والتالي للتعديل كمثال
PHP كود :
 Dim i As Integer BindingContext(dt).Position
        Dim row 
As DataRow dt.Rows(BindingContext(dt).Position)
 
       row.BeginEdit()
 
       row(1) = tname.Text
        row
(2) = CDate(dob.Text).ToShortDateString
        If IsNothing
(ms) = False Then
            row
(3) = ms.ToArray
        End 
If
 
       row.EndEdit()
 
       da.Update(dt)
 ms Nothing 

الكود اللي كتبته كفكرة فقط بالاتصال المنفصل.
الرد
#5
ممكن تصحيح الكود 

كود :
'************************كود فك تشفير الصورة****************************
           If IsDBNull(DR!ItemPicture) = False Then
               Dim imgByteArray() As Byte
               imgByteArray = CType(DR!ItemPicture, Byte())
               Dim Stream As New MemoryStream(imgByteArray)
               Dim bmp As New Bitmap(Stream)
               ItemPicture.Image = Image.FromStream(Stream)
               Stream.Close()
           End If
           Else
           If OpenFileDialog1.FileName <> "" Then
               Dim imgBYteArray() As Byte
               Dim Stream As New MemoryStream
               ItemPicture.Image.Save(Stream, ImageFormat.Jpeg)
               imgBYteArray = Stream.ToArray()
               Stream.Close()
               DR!ItemPicture = imgBYteArray
           End If
           '*************************************
------------------------
منكم أتعلم
------------------------

الرد
تم الشكر بواسطة: سعود
#6
يا اخي هل فكرت  تضع شرط if للتحقق مما اذا كان الـ stream فارغ تنفذ حفظ  التعديل او البيانات بدون جزء حفظ الصورة
وعلى العكس تنفذ الكود كاملا

الرد
تم الشكر بواسطة: سعود
#7
فقط اذا كنت لا تريد التكرار وما شبه
هو انشاء صورة بمقاس 1×1 بكسل
ومن ثم انشاء شرط تحقق اذا كان اداء الصورة فارغ / غير محدد
يقوم باستعانة مسار الصورة الافتراضية التى تم تصميمها بمقاس 1×1
وبكده تكون انهيت المشكلة
الرد
تم الشكر بواسطة: سعود
#8
(24-10-20, 02:15 AM)sofiane-phy كتب : ممكن تصحيح الكود 

كود :
'************************كود فك تشفير الصورة****************************
           If IsDBNull(DR!ItemPicture) = False Then
               Dim imgByteArray() As Byte
               imgByteArray = CType(DR!ItemPicture, Byte())
               Dim Stream As New MemoryStream(imgByteArray)
               Dim bmp As New Bitmap(Stream)
               ItemPicture.Image = Image.FromStream(Stream)
               Stream.Close()
           End If
           Else
           If OpenFileDialog1.FileName <> "" Then
               Dim imgBYteArray() As Byte
               Dim Stream As New MemoryStream
               ItemPicture.Image.Save(Stream, ImageFormat.Jpeg)
               imgBYteArray = Stream.ToArray()
               Stream.Close()
               DR!ItemPicture = imgBYteArray
           End If
           '*************************************
اخي الكريم 
ان لم اخطيء فان الاجرائين اللذين كتبتهما تلو بعض  غير مناسبة!
الاول يعين صورة مخزنة في القاعدة في مربع صورة والاخر  يقوم بعملية عكسية اي يحفظ الصورة من مربع الصورة للجدول.
كونهم تلو بعض هذه هي المشكلة.
أم ان المطلوب شيء آخر.
الرد
تم الشكر بواسطة: sofiane-phy


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] الحفظ و التعديل و الحذف داخل datagridview and databases Sql server mo.fathi 1 90 10-11-20, 04:32 PM
آخر رد: mmali127
  ماهي طريقة إضافة اكثر من صورة دفعة واحد لمجلد الصور داخل المشروع وحفظ المسارات بـ sql العطر الرايق 13 394 10-11-20, 03:36 AM
آخر رد: سعود
  رسالة خطأ في كود الحفظ aftfm 1 67 06-11-20, 10:09 PM
آخر رد: kiki
  ماذا يعني هذا الخطأ اثناء الحفظ sofiane-phy 5 283 02-11-20, 11:07 PM
آخر رد: sofiane-phy
  ممكن كود مجموع ضرب عمودين (هناك صورة مرفقة) sofiane-phy 2 191 29-10-20, 10:31 AM
آخر رد: sofiane-phy
Question [VB.NET] ازرار التنقل و الاضافة و الحفظ و الحذف و التعديل في entity framework باستخدام visual vb 2010 + sql server 2008 3 255 28-10-20, 12:46 PM
آخر رد: Anas Mahmoud
  [VB.NET] سؤال توضيحي حول الحفظ عن طريق CommandBuilder larbihamri 2 245 19-10-20, 10:07 AM
آخر رد: larbihamri
  مساعدة من فظلكم خطأ عند الحفظ sofiane-phy 2 227 01-10-20, 06:06 PM
آخر رد: sofiane-phy
  مساعدة من فظلكم خطأ عند الحفظ sofiane-phy 0 200 01-10-20, 05:28 PM
آخر رد: sofiane-phy
  ممكن مساعدة (الخطأ غير واضح في كود الحفظ) sofiane-phy 2 248 22-09-20, 12:15 PM
آخر رد: sofiane-phy

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


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