![]() |
|
كود حفظ الصورة والبياانات في قاعده البيانات - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : كود حفظ الصورة والبياانات في قاعده البيانات (/showthread.php?tid=35665) الصفحات:
1
2
|
RE: كود حفظ الصورة والبياانات في قاعده البيانات ,وإسترجاعها من قاعدة البيانات - khowla.goma - 21-07-20 السلام عليكم لدي مشكله ف التحقق If Not IsDBNull(dr(11)) Then 'PictureBox1.image Dim Pictur() As Byte = (CType(dr(11), Byte())) Dim ms As New MemoryStream(Pictur) PictureBox1.Image = Image.FromStream(ms) Else MsgBox("لاتوجد صورة ", MsgBoxStyle.Exclamation, "تنبيه") End If مشكله في IsDBNull يعطي ف خطا عند تنفيذ RE: كود حفظ الصورة والبياانات في قاعده البيانات - ابراهيم ايبو - 21-07-20 السلام عليكم ورحمة الله وبركاته اختي الكريمة اعتقد انك تتحققين من قيمة حقل الصورة ان كانت فارغة لسجل المطلوب التحقق من وجوده لكن انت تضعين رقم السجل 11 وهو غير موجود وفي العادة عندما يتم التحقق من سجل يجب ان تظهر نتيجة واحدة اي سجل واحد ويكون رقمه(اندكس) صفر ولهذا السجل حقول (item )منها حقل الصورة لااعلم ان كان 11 .... انت تعرفين والعد يبدأ من الصفر غيري الكود الى التالي وان شاء الله يكون صح : كود : If Not IsDBNull(dr(0)(11).Value) ThenRE: كود حفظ الصورة والبياانات في قاعده البيانات - khowla.goma - 21-07-20 (21-07-20, 08:48 PM)ابراهيم ايبو كتب : السلام عليكم ورحمة الله وبركاته اخي الكريم عند التشغيل يعطي نفس الخطا Dim cmd As New SqlCommand Sub selectSader1(id_esaryS) cmd = New SqlCommand("select * from Sader1 where id_esaryS = " & id_esaryS, cn) cn.Open() Dim dr As SqlDataReader dr = cmd.ExecuteReader 'dr.Read() While dr.Read Me.id_esaryS.Text = dr.Item("id_esaryS") Me.date_MasgS.Value = dr.Item("date_MasgS") Me.Mostalem.Text = dr.Item("Mostalem") Me.sefa.Text = dr.Item("sefa") Me.namberphon.Text = dr.Item("namberphon") Me.websait.Text = dr.Item("websait") Me.morfagatS.Text = dr.Item("morfagatS") Me.Sader_ela.Text = dr.Item("Sader_ela") Me.Sader_men.Text = dr.Item("Sader_men") Me.mawdo_MasgS.Text = dr.Item("mawdo_MasgS") Me.note.Text = dr.Item("note") End While If Not IsDBNull(dr(0)(11).Value) Then 'PictureBox1.image Dim Pictur() As Byte = (CType(dr((0)(11).Value), Byte())) Dim ms As New MemoryStream(Pictur) PictureBox1.Image = Image.FromStream(ms) Else MsgBox("لاتوجد صورة ", MsgBoxStyle.Exclamation, "تنبيه") End If cn.Open() dr.Close() End Sub اي كانه IsDBNull غير معرفه RE: كود حفظ الصورة والبياانات في قاعده البيانات - ابراهيم ايبو - 21-07-20 اختي الكريمة جربي الكود بهذا الشكل كود : Public Sub selectSader1(id_esaryS As Integer)RE: كود حفظ الصورة والبياانات في قاعده البيانات - khowla.goma - 21-07-20 (21-07-20, 09:51 PM)ابراهيم ايبو كتب : اختي الكريمةاخي الكريم يعطي خطا في جمله في IsDBNull تحتها خط كانها مش معرفه If Not IsDBNull(dts.Rows(0)(11).Value) Then و في ((0) كذلك Dim Pictur() As Byte = (CType(dts.Rows((0)(11).Value), Byte())) (21-07-20, 10:16 PM)khowla.goma كتب :(21-07-20, 09:51 PM)ابراهيم ايبو كتب : اختي الكريمةاخي الكريم يعطي خطا في جمله في IsDBNull تحتها خط كانها مش معرفه RE: كود حفظ الصورة والبياانات في قاعده البيانات - ابراهيم ايبو - 21-07-20 اختي الخطأ في عملية التحويل للقيمة الفارغة اليك الكود وان شاء الله سيعمل كود : Public Sub selectSader1(id_esaryS As Integer)كود : selectSader1(Val(مربع نص يحوي رقم))RE: كود حفظ الصورة والبياانات في قاعده البيانات - ابراهيم ايبو - 22-07-20 السلام عليكم ورحمة الله وبركاته اختي الكريمة اعذريني على الكود الذي لايحل مشكلتك والسبب انه كان لدي مشكلة عائلية ولم اركز في ماتريدين ولم اتحقق من سلامة الكود و لم انتبه ايضا الى نوع قاعدة البيانات انها sql Server حيث استخدمت oledb وانا اعتذر عن الخطأ اولا بالنسبة للتحقق من وجود سجل قبل الحفظ فقط يكفي ان نعلم بعدم وجوده في الجدول ولسنا بحاجة لجلب محتوياته وان كان موجودا نخرج من الصب وان كان غير موجود نكمل جملة الحفظ بهذا الشكل فقط كود : Tryاما اذا كنا نريد البحث عن هذا السجل فهذا اجراء مستقل لسنا بحاجة اليه قبل الحفظ سيتم فيه البحث وعرض النتيجة على الدتاغرايد فيو RE: كود حفظ الصورة والبياانات في قاعده البيانات - khowla.goma - 23-07-20 اخي ابراهيم ايبو جزاك الله كل خير اريد ان أسال ف كود الحفظ عندي جدول اخر وهوا wared1 يعطي نفس اخطاء جدول sader1 سابقا مع اني عدلت فيه البارمترات مايناسب Dim Cmd As New SqlCommand() Dim Pictur() As Byte Dim Ms As New MemoryStream() PictureBox2.Image.Save(Ms, PictureBox2.Image.RawFormat) Pictur = Ms.ToArray() Cmd = New SqlCommand("insert into Wared1(id_esary, mawdo_Masg,esaryMasgWard,date_Masg,date_waredEstelamMasg,wared_men,wared_ela,morfagat,maktebMOstalem,date_Estelam,note,PicturW)Values(@id_esary,@ mawdo_Masg,@esaryMasgWard,@date_Masg,@date_waredEstelamMasg,@wared_men,@wared_ela,@morfagat,@maktebMOstalem,@date_Estelam,@note,@PicturW)", cn) Cmd.Parameters.Add(New SqlParameter("@id_esary", SqlDbType.Int)).Value = CInt(id_esary.Text) Cmd.Parameters.Add(New SqlParameter("@mawdo_Masg", SqlDbType.NVarChar, 50)).Value = mawdo_Masg.Text Cmd.Parameters.Add(New SqlParameter("@esaryMasgWard", SqlDbType.NVarChar, 50)).Value = esaryMasgWard.Text Cmd.Parameters.Add(New SqlParameter("@date_Masg", SqlDbType.Date)).Value = date_Masg.Value.ToString("dd-MM-yyyy") Cmd.Parameters.Add(New SqlParameter("@date_waredEstelamMasg", SqlDbType.NVarChar, 50)).Value = date_waredEstelamMasg.Text Cmd.Parameters.Add(New SqlParameter("@wared_men", SqlDbType.NVarChar, 50)).Value = wared_men.Text Cmd.Parameters.Add(New SqlParameter("@wared_ela", SqlDbType.NVarChar, 50)).Value = wared_ela.Text Cmd.Parameters.Add(New SqlParameter("@morfagat", SqlDbType.NVarChar, 50)).Value = morfagat.Text Cmd.Parameters.Add(New SqlParameter("@maktebMOstalem", SqlDbType.NVarChar, 50)).Value = maktebMOstalem.Text Cmd.Parameters.Add(New SqlParameter("@date_Estelam", SqlDbType.NVarChar, 50)).Value = date_Estelam.Text Cmd.Parameters.Add(New SqlParameter("@note", SqlDbType.NVarChar, 50)).Value = note.Text Cmd.Parameters.Add(New SqlParameter("@PicturW", SqlDbType.Image)).Value = Pictur If cn.State = ConnectionState.Open Then cn.Close() cn.Open() Cmd.ExecuteNonQuery() cn.Close() MessageBox.Show("تم حفظ البيانات بنجاح", "حفظ", MessageBoxButtons.OK, MessageBoxIcon.Information) |