我想将txtQualed的字符串转换为数据库中设置为位的布尔值,但它不起作用,错误"字符串无法识别具有有效的布尔值",请问我该怎么办?
Sub verify()
If aggregate >= CutOffPoint.txtMaleCut.Text AndAlso cmbGender.SelectedItem = "Male" Then
MsgBox("Sorry, You do not Qualify to Offer the Program")
txtQualified.Text = "No"
Convert.ToBoolean(txtQualified.Text)
ElseIf aggregate >= CutOffPoint.txtFemaleCut.Text AndAlso cmbGender.SelectedItem = "Female" Then
MsgBox("Sorry, You do not Qualify to Offer the Program")
txtQualified.Text = "No"
Convert.ToBoolean(txtQualified.Text)
ElseIf aggregate < less Then
MsgBox("Sorry, Invalid Entry, Please Entry all Provided Grades")
Else
MsgBox("Congratulation, You have Qualified")
txtQualified.Text = "Yes"
Convert.ToBoolean(txtQualified.Text)
End If
End Sub
尝试将此函数添加到您的项目中:
Public function ConvertTextToBoolean(InputStr as String) As Boolean
if InputStr = "No" Then
Return False
end if
if InputStr = "Yes" Then
Return True
end if
if not InputStr = "Yes" and not InputStr = "No" Then
MsgBox("Invalid String")
end if
end function
但我理解不正确:你想在没有">如果"的情况下做到这一点吗!?
只需编写一个小函数即可获取布尔值。如果值可能不是"是"和"否",则可以添加一些验证。
为具有正确数据库数据类型的参数添加.Add
方法将使操作更安全。
Private Sub OPCode()
Dim sql = "Insert Into YourTable (ABitField) Values (@BitField);"
Using cn As New SqlConnection("Your connection string"),
cmd As New SqlCommand(Sql, cn)
cmd.Parameters.Add("@BitField", SqlDbType.Bit).Value = GetBoolean(txtQualified.Text)
cn.Open()
cmd.ExecuteNonQuery()
End Using
End Sub
Private Function GetBoolean(s As String) As Boolean
Return s = "Yes"
Return False
End Function