![]() |
|
ظهور خطا عند سحب البيانات وعرضها في الداتا كريد باستخدم الـــ Threading - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم قواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=40) +--- قسم : قسم أسئلة قواعد البيانات تحت بيئة الـ.NET (http://vb4arb.com/vb/forumdisplay.php?fid=41) +--- الموضوع : ظهور خطا عند سحب البيانات وعرضها في الداتا كريد باستخدم الـــ Threading (/showthread.php?tid=20269) |
ظهور خطا عند سحب البيانات وعرضها في الداتا كريد باستخدم الـــ Threading - HATEM KAREM - 06-05-17 بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
اخواني اعضاء المنتدى تحياتي لكم جميعاً
عندما اقوم بسحب البيانات من الداتا بيس (sql server 2008) وعرضها في الداتا كريد باستخدام الــ Threading اول عمليه يتم عرض البيانات بدون اي خطا ولكن بعد ثاني عمليه يظهر الخطا , ورسالة الخطا ادناه .System.IndexOutOfRangeException: Index 0 does not have a value (at System.Windows.Forms.CurrencyManager.get_Item(Int32 index (at System.Windows.Forms.DataGridView.DataGridViewDataConnection.GetError(Int32 rowIndex وهذه الاكواد التي استخدمتها هذه دالة عرض البيانات ()Private Sub GetData1 Try If cs1.State = ConnectionState.Closed Then () cs1.Open End If ()ds1.Clear ("da1.Fill(ds1, "tablename ()cs1.Close Catch ("تنبيه", MsgBoxStyle.OkOnly, "يوجد خطا")MsgBox End Try ("Me.dg1.DataSource = ds1.Tables("tablename End Sub وفي الحدث لود Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load CheckForIllegalCrossThreadCalls = False End Sub وهنا يتم تنفيذ الدالة Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click (thread1 = New System.Threading.Thread(AddressOf GetData1 ()thread1.Start End Sub عندما يتم تنفيذ اول عملية تمام يتم سحب البيانات ولكن بعد العملية الثانية او الثالثة تبدأ رسالة الخطا بلظهور اعلاه مع العلم انه اذا حذفت هذا الكود ("Me.dg1.DataSource = ds1.Tables("tablename الموجود في الدالة يتم تنفيذ الكود بدون اخطاء ما سبب ظهور هذه الرسالة ارجو المساعده وشكراُ لكم |