一个功能验证调用另一个功能 [英] A Function With Validations Calling Another One Function

查看:66
本文介绍了一个功能验证调用另一个功能的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的功能:

 私人 功能 validatingControls() As   Boolean  
Dim cmbs() As ComboBox = {cmbEmployee,cmbParty,cmbSoftwares,cmbStatus}
Dim rtb()作为 RichTextBox = {rtbTextArea}

Dim empytCB As ComboBox = cmbs.Where( Function (f)f.SelectedIndex = -1).FirstOrDefault
Dim emptyRB 作为 RichTextBox = rtb.Where(函数(f)f.Text = )。FirstOrDefault

如果 empytCB IsNot Nothing 然后
MessageBox.Show( 请在下拉列表中选择一个值& empytCB.Name)
返回 错误

ElseIf emptyRB IsNot Nothing 然后
MessageBox.Show( 请写下查询
返回 错误

其他

返回
结束 如果
结束 功能





我刚刚在我的按钮点击事件中调用它,它是自动的保存数据。

这是我的按钮cli ck事件:



 私人  Sub  Button1_Click(发件人 As 系统。对象,e  As  System.EventArgs)句柄 btnSave.Click 

validatingControls()

Dim conn2 As String = Nothing
' Dim con As SqlConnection
' Dim cmd As SqlCommand
Dim adp As SqlDataAdapter = SqlDataAdapter()
Dim ds As DataSet = DataSet()
Dim i 作为 整数 = 0
Dim sql As String = 没有
尝试

con.Open()
Dim cmd 作为 SqlCommand = SqlCommand( 插入到quaries值('& cmbEmployee.Text& ','& cmbParty.Text& ','& cmbSoftwares.Text& ','& cmbStatus.Text& ','& rtbTextArea.Text& ','& DateTimePicker1.Value& '),con)
cmd.ExecuteNonQuery()
MsgBox( 已成功保存
clearAllFields()
con.Close()

Catch ex As 异常
MessageBox.Show(ex.Message) )
结束 尝试

结束 Sub

解决方案

您对 validatingControls()的调用 Button1_Click 忽略了返回值,因此您无论是否保存东西验证通过



尝试

如果不验证控件()那么
退出子
结束如果


尝试..

 私人  Sub  Button1_Click( sender  As  System。 Object ,e  As  System.EventArgs)句柄 btnSave.Click 

如果(validatingControls()) 然后

Dim conn2 As 字符串 = 没什么
' Dim con As SqlConnection
' Dim cmd As SqlCommand
Dim adp As SqlDataAdapter = SqlDataA dapter()
Dim ds As DataSet = DataSet()
Dim i 作为 Integer = 0
Dim sql 作为 字符串 = 没什么
尝试

con.Open()
Dim cmd 作为 SqlCommand = SqlCommand( 插入quaries值('& cmbEmployee.Text& ','& cmbParty.Text& ','& cmbSoftwares.Text& ','& cmbStatus.Text& ','& rtbTextArea.Text& ','& DateTimePicker1.Value& '),con)
cmd.ExecuteNonQuery()
MsgBox( 已成功保存
clearAllFields()
con.Close()

Catch ex As 异常
MessageBox.Show(ex.Message) )
结束 尝试
其他
返回
结束 如果
结束 Sub



N:B我不喜欢Vb.net :))


This is my function:

Private Function validatingControls() As Boolean
       Dim cmbs() As ComboBox = {cmbEmployee, cmbParty, cmbSoftwares, cmbStatus}
       Dim rtb() As RichTextBox = {rtbTextArea}

       Dim empytCB As ComboBox = cmbs.Where(Function(f) f.SelectedIndex = -1).FirstOrDefault
       Dim emptyRB As RichTextBox = rtb.Where(Function(f) f.Text = "").FirstOrDefault

       If empytCB IsNot Nothing Then
           MessageBox.Show("please select a value in dropdown" & empytCB.Name)
           Return False

       ElseIf emptyRB IsNot Nothing Then
           MessageBox.Show("please write query")
           Return False

       Else

           Return True
       End If
   End Function



I've just called this in my button click event, it is automatically saving the data.
This is my button click event:

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles btnSave.Click

       validatingControls()

       Dim conn2 As String = Nothing
       'Dim con As SqlConnection
       'Dim cmd As SqlCommand
       Dim adp As SqlDataAdapter = New SqlDataAdapter()
       Dim ds As DataSet = New DataSet()
       Dim i As Integer = 0
       Dim sql As String = Nothing
       Try

           con.Open()
           Dim cmd As SqlCommand = New SqlCommand("Insert into quaries values('" & cmbEmployee.Text & "','" & cmbParty.Text & "','" & cmbSoftwares.Text & "','" & cmbStatus.Text & "','" & rtbTextArea.Text & "','" & DateTimePicker1.Value & "')", con)
           cmd.ExecuteNonQuery()
           MsgBox("successfully saved")
           clearAllFields()
           con.Close()

       Catch ex As Exception
           MessageBox.Show(ex.Message)
       End Try

   End Sub

解决方案

Your call to validatingControls() in Button1_Click is ignoring the return value so you are saving stuff regardless of whether or not the validations passed

Try

If Not validatingControls() Then
      Exit Sub
End If


try..

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles btnSave.Click
 
        If (validatingControls()) then
 
        Dim conn2 As String = Nothing
        'Dim con As SqlConnection
        'Dim cmd As SqlCommand
        Dim adp As SqlDataAdapter = New SqlDataAdapter()
        Dim ds As DataSet = New DataSet()
        Dim i As Integer = 0
        Dim sql As String = Nothing
        Try
 
            con.Open()
            Dim cmd As SqlCommand = New SqlCommand("Insert into quaries values('" & cmbEmployee.Text & "','" & cmbParty.Text & "','" & cmbSoftwares.Text & "','" & cmbStatus.Text & "','" & rtbTextArea.Text & "','" & DateTimePicker1.Value & "')", con)
            cmd.ExecuteNonQuery()
            MsgBox("successfully saved")
            clearAllFields()
            con.Close()
 
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
Else 
    return
 End If
    End Sub


N:B i'm Not good in Vb.net :)


这篇关于一个功能验证调用另一个功能的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆