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

خطأ غريب احتاج لخبراء Thread Was Being Aborted

بدأه bader-3d في 6 مايو 2009 · 8 رد · 624 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

يظهر لي الخطأ عند صفحة الدخول |Log In لمشروع احمل علية حاليا

نص الخطأ Thread was being aborted

و هذا هو الكود

Try

Dim log As Integer

Dim userid As String

Dim pass As String

userid = txtUser.Text

pass = txtPass.Text

log = fn.login(userid, pass)

If log = 0 Then

pnlError.Visible = True

pnlWarning.Visible = False

ElseIf log = 1 Then

pnlError.Visible = False

pnlWarning.Visible = True

ElseIf log = 2 Then

Dim email As String

Dim department As String

Dim departmentname As String

Dim username As String

Dim premission As String

Dim active As String

Dim id As String

id = fn.geid(userid)

email = fn.getuserEmail(id)

department = fn.getdepartment(id)

departmentname = fn.getdepartmentname(department)

username = fn.getusername(id)

premission = fn.getpremission(id)

active = fn.getactivate(id)

Session("id") = id

Session("userid") = userid

Session("pass") = pass

Session("email") = email

Session("department") = department

Session("departmentname") = departmentname

Session("username") = username

Session("premission") = premission

Session("active") = active

If premission = "System Admin" Then

Response.Redirect("adminDisplay.aspx")

Else

Response.Redirect("qcpcDisplay.aspx")

End If

End If

Catch ex As Exception

MsgBox(ex.Message)

End Try

#2

السلام عليكم :

هل يمكن ان ترسل كامل الشيفرة قد يكون الخطأ في مكان ثاني .

رَبِّ أَوْزِعْنِي أَنْ أَشْكُرَ نِعْمَتَكَ الَّتِي أَنْعَمْتَ عَلَيَّ وَعَلَى وَالِدَيَّ وَأَنْ أَعْمَلَ صَالِحًا تَرْضَاهُ وَأَدْخِلْنِي بِرَحْمَتِكَ فِي عِبَادِكَ الصَّالِحِينَ

تلاوات خاشعة مؤثرة

#3

و عليكم السلام

كامل الشفرة هل تعني جميع الكود , انه طويل جدا ؟

كانت تعمل جيدا , لكن فجأة بدأت تظهر هذا الخطأ .

بالنسبة للـ Function فهي موزعة في 3 ملفات vb و صعب جدا ان ارفقها لطولها

Protected Sub btnLogin_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnLogin.Click

Try

Dim log As Integer

Dim userid As String

Dim pass As String

userid = txtUser.Text

pass = txtPass.Text

log = fn.login(userid, pass)

If log = 0 Then

pnlError.Visible = True

pnlWarning.Visible = False

ElseIf log = 1 Then

pnlError.Visible = False

pnlWarning.Visible = True

ElseIf log = 2 Then

Dim email As String

Dim department As String

Dim departmentname As String

Dim username As String

Dim premission As String

Dim active As String

Dim id As String

id = fn.geid(userid)

email = fn.getuserEmail(id)

department = fn.getdepartment(id)

departmentname = fn.getdepartmentname(department)

username = fn.getusername(id)

premission = fn.getpremission(id)

active = fn.getactivate(id)

Session("id") = id

Session("userid") = userid

Session("pass") = pass

Session("email") = email

Session("department") = department

Session("departmentname") = departmentname

Session("username") = username

Session("premission") = premission

Session("active") = active

If premission = "System Admin" Then

Response.Redirect("adminDisplay.aspx", False)

Else

Response.Redirect("qcpcDisplay.aspx", False)

End If

End If

Catch ex As Exception

MsgBox(ex.Message)

End Try

End Sub

تم تعديل هذه المشاركة بواسطة bader-3d في 6 مايو 2009 في 10:46

#4

أخي كما قلت لك قد يكون الخطأ ليس في هذا المنهج وانما في صنف اخر او منهج أخر لذلك لايمكن ان نقول ان الخطأ موجود هنا . لذلك لايمكن معرفته من دون ارسال كامل الملفات . وبالنسبة لطول الملفات فقط قم بوضعها كلها بمجلد مضغوط وارفقها .

تم تعديل هذه المشاركة بواسطة sufian2020 في 6 مايو 2009 في 10:54

رَبِّ أَوْزِعْنِي أَنْ أَشْكُرَ نِعْمَتَكَ الَّتِي أَنْعَمْتَ عَلَيَّ وَعَلَى وَالِدَيَّ وَأَنْ أَعْمَلَ صَالِحًا تَرْضَاهُ وَأَدْخِلْنِي بِرَحْمَتِكَ فِي عِبَادِكَ الصَّالِحِينَ

تلاوات خاشعة مؤثرة

#5

هذا الكود كامل

Try

Dim log As Integer

Dim userid As String

Dim pass As String

userid = txtUser.Text

pass = txtPass.Text

log = fn.login(userid, pass)

If log = 0 Then

pnlError.Visible = True

pnlWarning.Visible = False

ElseIf log = 1 Then

pnlError.Visible = False

pnlWarning.Visible = True

ElseIf log = 2 Then

Dim email As String

Dim department As String

Dim departmentname As String

Dim username As String

Dim premission As String

Dim active As String

Dim id As String

id = fn.geid(userid)

email = fn.getuserEmail(id)

department = fn.getdepartment(id)

departmentname = fn.getdepartmentname(department)

username = fn.getusername(id)

premission = fn.getpremission(id)

active = fn.getactivate(id)

Session("id") = id

Session("userid") = userid

Session("pass") = pass

Session("email") = email

Session("department") = department

Session("departmentname") = departmentname

Session("username") = username

Session("premission") = premission

Session("active") = active

If premission = "System Admin" Then

Response.Redirect("adminDisplay.aspx")

Else

Response.Redirect("qcpcDisplay.aspx")

End If

End If

Catch ex As Exception

MsgBox(ex.Message)

End Try

-----------------------------

Function geid(ByVal userid As String) As String

sql = "SELECT [id] FROM [users] WHERE ([userid] = '" & userid & "')"

Return dc.ExecScalar(sql)

End Function

Function getuserid(ByVal userid As Integer) As String

sql = "SELECT userid FROM users WHERE id= " & userid & ""

Return dc.ExecScalar(sql).ToString

End Function

Function getusername(ByVal userid As Integer) As String

sql = "SELECT username FROM users WHERE id= " & userid & ""

Return dc.ExecScalar(sql).ToString

End Function

Function getuserpass(ByVal userid As Integer) As String

sql = "SELECT pass FROM users WHERE id= " & userid & ""

Return dc.ExecScalar(sql).ToString

End Function

Function getuserEmail(ByVal userid As Integer) As String

sql = "SELECT email FROM users WHERE id= " & userid & ""

Return dc.ExecScalar(sql).ToString

End Function

Function getdepartment(ByVal userid As Integer) As String

sql = "SELECT departmentid FROM users WHERE id= " & userid & ""

Return dc.ExecScalar(sql).ToString

End Function

Function getdepartmentname(ByVal dep As Integer) As String

sql = "SELECT depname FROM department WHERE id= " & dep & ""

Return dc.ExecScalar(sql).ToString

End Function

Function getprocessname(ByVal proce As Integer) As String

sql = "SELECT processname FROM process WHERE id= " & proce & ""

Return dc.ExecScalar(sql).ToString

End Function

Function getpremission(ByVal userid As Integer) As String

sql = "SELECT permission FROM users WHERE id= " & userid & ""

Return dc.ExecScalar(sql).ToString

End Function

Function getactivate(ByVal userid As Integer) As String

sql = "SELECT activation FROM users WHERE id= " & userid & ""

Return dc.ExecScalar(sql).ToString

End Function

Public Function ExecScalar(ByVal QueryString As String) As Object

Dim Cmd As New System.Data.OleDb.OleDbCommand

Try

Connect()

Cmd.Connection = Con

Cmd.CommandText = QueryString

ExecScalar = Cmd.ExecuteScalar

Catch ex As Exception

Throw ex

Finally

If Con.State = ConnectionState.Open Then

Con.Close()

End If

End Try

End Function

Private Function Connect() As Boolean

Dim Value As Boolean = True

Dim appString As String

'Read connection string from passing argument

appString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\database.mdb;Persist Security Info=False;User Id=admin;Password=;"

If Con.State = ConnectionState.Open Then

Con.Close()

End If

Con.ConnectionString = appString

Try

Con.Open()

Catch ex As Exception

Value = False

Throw ex

End Try

Connect = Value

End Function

#6

حين يصدر أمر Response.Redirect فهو يسبب exception من نوع "Thread Abort" (و هو أمر طبيعي) لذا لا تضعه داخل جملة Try .. Catch

#7

اخرجتها من حلقة try & catch لكن ما زال يعطيني نفس الخطأ

ايضا جربت تمرير باراميتر false للدالة , response.redirect("index.aspx",false ) Iايضا نفس المشكلة

هل يوجد حل اخر ؟؟

#8

السلام عليكم:

أخي الكريم كما قلت لك يجب ارفاق مجلد الموقع كامل أقصد لاتكتبه في الرد يجب ان ترفقه في نظام الملفات حتى استطيع عمل Debug من خلال Visual Studio

رَبِّ أَوْزِعْنِي أَنْ أَشْكُرَ نِعْمَتَكَ الَّتِي أَنْعَمْتَ عَلَيَّ وَعَلَى وَالِدَيَّ وَأَنْ أَعْمَلَ صَالِحًا تَرْضَاهُ وَأَدْخِلْنِي بِرَحْمَتِكَ فِي عِبَادِكَ الصَّالِحِينَ

تلاوات خاشعة مؤثرة

#9

تم حل المشكلة شكرا لكم جميعا :D

شكرا لك اخي System Down فقد تم حل المشكلة بطريقتك

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