منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
كيف اقوم بالخروج من Sub عبر Sub اخرى - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : كيف اقوم بالخروج من Sub عبر Sub اخرى (/showthread.php?tid=49186)



كيف اقوم بالخروج من Sub عبر Sub اخرى - moh61 - 14-06-24

يوجد لدي كود يقوم بالتحقق من وجود اسم المستخدم بقاعدة البيانات ب sub مستقلة ... اريد عندما اضغط على ذر الحفظ ... والاتصال بال Sub يقوم بالخروج من الذر اذا كان المستخدم موجود


PHP كود :
Private Sub Check()
        
Dim conn3 As New OleDbConnection(ConfigurationManager.ConnectionStrings("LAUNDRY_SYSTEM.My.MySettings.Laundry_DatabaseConnectionString").ConnectionString)
        
Using Cmd As New OleDbCommand("SELECT * from login Where user_name = @user_name "conn3)
            
Cmd.CommandType CommandType.Text
            Using sda 
As New OleDbDataAdapter(Cmd)
                
Cmd.Connection conn3
                sda
.SelectCommand Cmd
                Cmd
.Parameters.AddWithValue("@user_name"TextBox2.Text)
                
Cmd.Connection.Open()
                
Cmd.ExecuteScalar()
                
Cmd.Connection.Close()
                
Using login As New DataSet()
                    
sda.Fill(login"login")
                    If 
login.Tables(0).Rows.Count <> 0 Then
                        MsgBox
("يجب تغير اسم المستخدم")
                        Exit 
Sub
                    End 
If
                
End Using
            End Using
        End Using
    End Sub
    
'< حفظ المستخدم
    Private Sub saved_Click(sender As Object, e As EventArgs) Handles saved.Click
        Check()
   ' 
هنا يوجد كود الحفظ
  End Sub 



RE: كيف اقوم بالخروج من Sub عبر Sub اخرى - غزة العزة - 15-06-24

(14-06-24, 11:05 PM)moh61 كتب : يوجد لدي كود يقوم بالتحقق من وجود اسم المستخدم بقاعدة البيانات ب sub مستقلة ... اريد عندما اضغط على ذر الحفظ ... والاتصال بال Sub يقوم بالخروج من الذر اذا كان المستخدم موجود


PHP كود :
Private Sub Check()
 
       Dim conn3 As New OleDbConnection(ConfigurationManager.ConnectionStrings("LAUNDRY_SYSTEM.My.MySettings.Laundry_DatabaseConnectionString").ConnectionString)
 
       Using Cmd As New OleDbCommand("SELECT * from login Where user_name = @user_name "conn3)
 
           Cmd.CommandType CommandType.Text
            Using sda 
As New OleDbDataAdapter(Cmd)
 
               Cmd.Connection conn3
                sda
.SelectCommand Cmd
                Cmd
.Parameters.AddWithValue("@user_name"TextBox2.Text)
 
               Cmd.Connection.Open()
 
               Cmd.ExecuteScalar()
 
               Cmd.Connection.Close()
 
               Using login As New DataSet()
 
                   sda.Fill(login"login")
 
                   If login.Tables(0).Rows.Count <> 0 Then
                        MsgBox
("يجب تغير اسم المستخدم")
 
                       Exit Sub
                    End 
If
 
               End Using
            End Using
        End Using
    End Sub
    
'< حفظ المستخدم
    Private Sub saved_Click(sender As Object, e As EventArgs) Handles saved.Click
        Check()
   ' 
هنا يوجد كود الحفظ
  End Sub 


لتحقيق الهدف المطلوب بحيث يتم التحقق من وجود اسم المستخدم في قاعدة البيانات، وإذا كان موجودًا يتم إيقاف تنفيذ عملية الحفظ، يمكنك التعديل على الكود كالتالي:

تعديل Sub Check بحيث يعيد قيمة Boolean تدل على ما إذا كان المستخدم موجودًا أم لا.
استخدام القيمة المعادة من Sub Check في Sub saved_Click لاتخاذ القرار المناسب.
إليك الكود المعدل:
PHP كود :
Private Function Check() As Boolean
    Dim conn3 
As New OleDbConnection(ConfigurationManager.ConnectionStrings("LAUNDRY_SYSTEM.My.MySettings.Laundry_DatabaseConnectionString").ConnectionString)
 
   Using Cmd As New OleDbCommand("SELECT * from login Where user_name = @user_name"conn3)
 
       Cmd.CommandType CommandType.Text
        Using sda 
As New OleDbDataAdapter(Cmd)
 
           Cmd.Connection conn3
            sda
.SelectCommand Cmd
            Cmd
.Parameters.AddWithValue("@user_name"TextBox2.Text)
 
           Cmd.Connection.Open()
 
           Cmd.ExecuteScalar()
 
           Cmd.Connection.Close()
 
           Using login As New DataSet()
 
               sda.Fill(login"login")
 
               If login.Tables(0).Rows.Count <> 0 Then
                    MsgBox
("يجب تغير اسم المستخدم")
 
                   Return True
                End 
If
 
           End Using
        End Using
    End Using
    Return False
End 
Function

' حفظ المستخدم
Private Sub saved_Click(sender As Object, e As EventArgs) Handles saved.Click
    If Check() Then
        Exit Sub
    End If
    ' 
هنا يوجد كود الحفظ
End Sub 

التغييرات الرئيسية:

جعل Sub Check يعيد قيمة من نوع Boolean بحيث يعيد True إذا كان اسم المستخدم موجودًا، وFalse إذا لم يكن موجودًا.
استخدام القيمة المعادة من Sub Check في Sub saved_Click لاتخاذ القرار المناسب بشأن الخروج من Sub إذا كان المستخدم موجودًا.
بهذا الشكل، عندما تضغط على زر الحفظ، سيتم التحقق أولاً من وجود اسم المستخدم، وإذا كان موجودًا، سيتم عرض رسالة ويتم الخروج من Sub دون تنفيذ عملية الحفظ.