djhooman
پنج شنبه 09 مرداد 1393, 03:02 صبح
سلام دوستای گلم ....
خیلی دنبال این موضوع و حل اررور گشتم اما پیدا نشد راه حلش و هنوز ایراد تو برنامم هستش ...
من برای لود اطلاعاتم توی قسمت نمایش کارتابل از Stored Procedure استفاده میکنم و مشکلی ندارم .
توی هر رکوردمم 2 تا چک باکس دارم که سرپرست باید حالا یا تایید یا عدم تایید کنه با توجه به سیستم کاری که داره ...
بعدش باید دکمه ثبت تغییرات رو بزنه ...
موقع زدن دکمه ثبت تغییرات گاهاً ( نه همیشه و متناوب ) این اررور زیر میاد ...
معمولا توی دستگاه هایی با کانفیگ سخت افزاری قوی ، کمتر این اررور و میده و توی دستگاه با رم 512 مگابایت یهو کل صفحه و کنترل های نرم افزار به شکل ضربدر http://barnamenevis.org/image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAdCAIAAAD HFAKuAAAA4klEQVRoge3VUQ7CIBBFUfa/WneAHxpTO2AoIDOXvht TJp2Osdoygpe8h5AjSZCfCLEVyJMSSf6ESH NBFeRVXdXV1vD H4U9Wn8dXNIeyY7LZN38y/CGv3uRvqgrdeR1i7806oLn8onoTFB4FQgwwciLD2aPcdBRzmNN jxU/mKOF//ZXsMC2aDEdpmLZoCZsMT2lowuGC2DQltoF/FjjYkbAHbSRRPOMUDjQojXLZrEOqJ8PHd wrHcePsMc4kdrCcc84vMm/CsGsqFmTa34QKlwjxiRCfCPGJEJ8I8YkQ3xMSy7fvZEfBVwAAA ABJRU5ErkJggg== میشه و کاربر مجبور به راه اندازی مجدد نرم افزار میشه ...
چطور این مشکل ( ضربدر شدن کنترل هام ) و از همه مهمتر اررور Thread Was Being aborted رو حل کنم ؟؟؟
باز هم میگم همیشه این اتفاق نمی افته ... یبار ممکنه توی 2 بار ثبت تغییرات زدن پشت هم بیفته ، سری بعدی ممکنه 10 بار هم ثبت تغییرات زده یشه اتفاقی نیوفته و عادی باشه !!!
121760
تکه کد مربوط به دکمه ثبت تغییرات :
Private Sub ConfirmToSV()
CheckForIllegalCrossThreadCalls = False
Dim cPro As New clsProgress()
cPro.startProgress()
ButtonX3.Enabled = False
Try
Dim SQLCnn As New SqlConnection(cnnString)
SQLCnn.Open()
For Each dgRow As Telerik.WinControls.UI.GridViewRowInfo In RadGridView1.SelectedRows
Dim DigitalId As String = dgRow.Cells(3).Value.ToString()
Dim AdminConfirm As Boolean = Convert.ToBoolean(dgRow.Cells(12).Value)
Dim ShowInSV As Boolean = Convert.ToBoolean(dgRow.Cells(13).Value)
Dim strQuery As String = "update [Order] set MonthSV = '" & MonthSV.Text & "',TaeidModir = '" & AdminConfirm.ToString & "' , ShowInSV = '" & ShowInSV.ToString & "' where DigitalID = " & DigitalId & ""
Dim cmdSelect As New SqlCommand(strQuery, SQLCnn)
cmdSelect.ExecuteNonQuery()
Next
SQLCnn.Close()
cPro.stopProgress()
MessageBox.Show("تغییرات ثبت گردید", "ثبت", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign)
Catch ex As Exception
MsgBox(ex.ToString)
End Try
ButtonX3.Enabled = True
ClearMemory()
End Sub
Private Sub ButtonX2_Click(sender As Object, e As EventArgs) Handles ButtonX2.Click
Try
Dim th1 As New Threading.Thread(AddressOf ConfirmToSV)
th1.Start()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
خیلی دنبال این موضوع و حل اررور گشتم اما پیدا نشد راه حلش و هنوز ایراد تو برنامم هستش ...
من برای لود اطلاعاتم توی قسمت نمایش کارتابل از Stored Procedure استفاده میکنم و مشکلی ندارم .
توی هر رکوردمم 2 تا چک باکس دارم که سرپرست باید حالا یا تایید یا عدم تایید کنه با توجه به سیستم کاری که داره ...
بعدش باید دکمه ثبت تغییرات رو بزنه ...
موقع زدن دکمه ثبت تغییرات گاهاً ( نه همیشه و متناوب ) این اررور زیر میاد ...
معمولا توی دستگاه هایی با کانفیگ سخت افزاری قوی ، کمتر این اررور و میده و توی دستگاه با رم 512 مگابایت یهو کل صفحه و کنترل های نرم افزار به شکل ضربدر http://barnamenevis.org/image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAdCAIAAAD HFAKuAAAA4klEQVRoge3VUQ7CIBBFUfa/WneAHxpTO2AoIDOXvht TJp2Osdoygpe8h5AjSZCfCLEVyJMSSf6ESH NBFeRVXdXV1vD H4U9Wn8dXNIeyY7LZN38y/CGv3uRvqgrdeR1i7806oLn8onoTFB4FQgwwciLD2aPcdBRzmNN jxU/mKOF//ZXsMC2aDEdpmLZoCZsMT2lowuGC2DQltoF/FjjYkbAHbSRRPOMUDjQojXLZrEOqJ8PHd wrHcePsMc4kdrCcc84vMm/CsGsqFmTa34QKlwjxiRCfCPGJEJ8I8YkQ3xMSy7fvZEfBVwAAA ABJRU5ErkJggg== میشه و کاربر مجبور به راه اندازی مجدد نرم افزار میشه ...
چطور این مشکل ( ضربدر شدن کنترل هام ) و از همه مهمتر اررور Thread Was Being aborted رو حل کنم ؟؟؟
باز هم میگم همیشه این اتفاق نمی افته ... یبار ممکنه توی 2 بار ثبت تغییرات زدن پشت هم بیفته ، سری بعدی ممکنه 10 بار هم ثبت تغییرات زده یشه اتفاقی نیوفته و عادی باشه !!!
121760
تکه کد مربوط به دکمه ثبت تغییرات :
Private Sub ConfirmToSV()
CheckForIllegalCrossThreadCalls = False
Dim cPro As New clsProgress()
cPro.startProgress()
ButtonX3.Enabled = False
Try
Dim SQLCnn As New SqlConnection(cnnString)
SQLCnn.Open()
For Each dgRow As Telerik.WinControls.UI.GridViewRowInfo In RadGridView1.SelectedRows
Dim DigitalId As String = dgRow.Cells(3).Value.ToString()
Dim AdminConfirm As Boolean = Convert.ToBoolean(dgRow.Cells(12).Value)
Dim ShowInSV As Boolean = Convert.ToBoolean(dgRow.Cells(13).Value)
Dim strQuery As String = "update [Order] set MonthSV = '" & MonthSV.Text & "',TaeidModir = '" & AdminConfirm.ToString & "' , ShowInSV = '" & ShowInSV.ToString & "' where DigitalID = " & DigitalId & ""
Dim cmdSelect As New SqlCommand(strQuery, SQLCnn)
cmdSelect.ExecuteNonQuery()
Next
SQLCnn.Close()
cPro.stopProgress()
MessageBox.Show("تغییرات ثبت گردید", "ثبت", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign)
Catch ex As Exception
MsgBox(ex.ToString)
End Try
ButtonX3.Enabled = True
ClearMemory()
End Sub
Private Sub ButtonX2_Click(sender As Object, e As EventArgs) Handles ButtonX2.Click
Try
Dim th1 As New Threading.Thread(AddressOf ConfirmToSV)
th1.Start()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub