الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ما الخطأ فى كود الحفظ ... رجاء الدخول

بدأه مصطفى_ظيمة في 2 نوفمبر 2013 · 6 رد · 659 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

كود الحفظ التالى يعطى رسالة خطأ عند محاولة الحفظ

الكود

Try

            Dim dr As SqlDataReader
            If Trim(TextBox2.Text) = "" Then
                MsgBox("عفـوا... يجـب إدخـال رقـم القـرار ", MsgBoxStyle.Critical + MsgBoxStyle.MsgBoxRight + MsgBoxStyle.MsgBoxRtlReading, "Message")
                TextBox2.Focus()
                Exit Sub
            End If

            Dim cmd1 As SqlCommand = New SqlCommand("SELECT nu from tb order by nu", con)


            If con.State = ConnectionState.Open Then con.Close()
            con.Open()
            dr = cmd1.ExecuteReader()
            If dr.HasRows() Then
                MsgBox("  الرقم التسلسلي التالي موجود من قبل ...هل تريد تحديث البيانات ")
                If MsgBox("  الرقم التسلسلي التالي موجود من قبل ...هل تريد تحديث البيانات ", MsgBoxStyle.Question + MsgBoxStyle.OkCancel, "تنبيه") = MsgBoxResult.Cancel Then
                    Exit Sub
                End If

            End If

            If TextBox2.Text = "" Then

                'كود اضافة سجل جديد
                Dim Add_NewRow As DataRow = SQLDataSet1.Tables("tb").NewRow()

                If TextBox2.Text = "" Then Add_NewRow("nu ") = DBNull.Value Else Add_NewRow("nu ") = TextBox2.Text.Trim

                If ComboBox1.Text = "" Then Add_NewRow("adress") = DBNull.Value Else Add_NewRow("adress") = ComboBox1.Text.Trim

            


                SQLDataSet1.Tables("tb").Rows.Add(Add_NewRow)




                'كود حفظ الاضافة
                Validate()
                SQLDataAdapter1.Update(SQLDataSet1, "tb")
                SQLDataSet1.AcceptChanges()


                'تحديث قاعدة البيانات
                con.Open()
                SQLDataSet1.Clear()
                SQLDataAdapter1.Fill(SQLDataSet1, "tb")
                con.Close()


                'كود الانتقال الى اخر سجل تم اضافته بعد تخديث قاعدة البيانات
                Me.BindingContext(SQLDataSet1, "tb").Position = Me.BindingContext(SQLDataSet1, "tb").Count - 1



                MsgBox("تم الاضافة بنجاح", 64, "نجاح")

          

            End If


        Catch ex As Exception




            MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)


        End Try

صورة رسالة الخطأ

error_zps37b08d30.jpg

#2

السلام عليكم ورحمة الله وبركاته  

 

فى البداية 

ممكن ان يكون غير قادر على الحصول على المعلومات من الجدول 

او الجدول فارغ 

 

Me.BindingContext(SQLDataSet1, "tb").Position = Me.BindingContext(SQLDataSet1, "tb").Count - 1

 

أو لا يوجد بيانات غير السجل الحالى 

 

وبذلك يسجل سجل ويجى علشان يطبع يطرح سجل من إجمالى السجلات اللى كلهم واحد

 

وبكده مش بيلاقى علشان كده يطلع الخطا

 

ممكن تكتب 

 

قبل الكود 

 

       on Error Resume Next

 

وجزاكم الله خيراً

 

أرجو أن تدعو لأبى بلشفاء العاجل 

 

وجزاكم الله خيراً

 

والسلام عليكم ورحمة الله وبركاته  

#3

أخى الفاضل

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

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

والكود On Erorr Resume Next  فلم يقدم ولم يؤخر

المشكلة تختفى عند حذف كود الفلترة للبيانات المكررة

فما سبب ظهور هذا الخطأ

رجاء المساعدة وشكراً مقدماً لمن يتفضل بالمساعد

#4

ممكن يكون الجدول فارغ

 

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

#5
الجنـرال كتب:

ممكن يكون الجدول فارغ

 

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

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

#6

up

#7

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


مواضيع مشابهة