如果陈述不起作用.帮助! [英] If statment not working. Help!
本文介绍了如果陈述不起作用.帮助!的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Hiya偷看!
我有个问题.我有两个IF陈述,但都不起作用.
这是我使用的代码.
代码:
Hiya peeps!
I have a problem. I have two IF statments but neither are working.
Here is the code I have used.
Code:
Private Sub ViewUser_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
Dim connection As New MySqlConnection("server=" & My.Settings.MysqlHost & ";user id=" & My.Settings.MysqlUsername & "; password=" & My.Settings.MysqlPassword & "; port=3306; database=" & My.Settings.MysqlDatabase & "; pooling=false")
connection.Open()
Dim usersql As New MySqlCommand("SELECT * FROM `accounts` WHERE `id` = ''" & My.Settings.VUID & "'' LIMIT 1", connection)
usersql.ExecuteNonQuery()
Dim userreader = usersql.ExecuteReader()
While (userreader.Read())
Dim name As String = userreader.GetString(1) & " " & userreader.GetString(2)
Dim accounttype = ""
Dim activity = userreader.GetString(8)
accname.Text = StrConv(name, VbStrConv.ProperCase)
accid.Text = userreader.GetString(0)
accemail.Text = userreader.GetString(3)
accusername.Text = userreader.GetString(4)
If userreader.GetString(9).Equals(1) Then
accounttype = "Tenant"
setpaid.Hide()
setunpaid.Hide()
ElseIf userreader.GetString(9).Equals(2) Then
accounttype = "Landlord"
End If
If activity.Equals(1) Then
accactive.Text = "Suspended"
suspenduser.Hide()
Else
accactive.Text = "Active"
unsuspend.Hide()
End If
acctype.Text = accounttype
usersql.Dispose()
End While
Catch ex As MySqlException
MessageBox.Show(ex.Message)
End Try
End Sub
这就是整个代码片段.一切正常.但是这个
代码:
That is the whole code snippet. Everything is working. But this;
Code:
If userreader.GetString(9).Equals(1) Then
accounttype = "Tenant"
setpaid.Hide()
setunpaid.Hide()
ElseIf userreader.GetString(9).Equals(2) Then
accounttype = "Landlord"
End If
If activity.Equals(1) Then
accactive.Text = "Suspended"
suspenduser.Hide()
Else
accactive.Text = "Active"
unsuspend.Hide()
End If
如果有人有任何想法请帮助!
非常感谢,
James.
If anyone has any ideas please help!
Many thanks,
James.
推荐答案
最明显的事情是,您正在读取字符串,并尝试检查它是否等于一个整数,而该整数将永远不会成为整数. br/>
测试.Equals("1")
或使用GetInt(x).Equals(1)
.
Well the most obvious thing is that you are reading a string and trying to check if it is equal to an integer, which it never will be.
Either test for.Equals("1")
or useGetInt(x).Equals(1)
.
您可能还想使用选择用例,而不是嵌套的if语句.将其与ctype结合使用可将字符串转换为整数.
you might also want to use a select case, instead of nested if statements. combine this with a ctype to convert an string into an integer.
<pre lang="sql">Select Case CType(userreader.GetString(9), Integer)<br />
<br />
Case 1<br />
<br />
Case 2<br />
<br />
Case 9<br />
<br />
Case Else<br />
<br />
End Select</pre><br />
除了上一个答案,我将在if语句上放置断点并逐步执行代码.
通过这种方式,您可以看到正在发生或正在逐行更改的内容.
Adding to the previous answer, I would put break points on the if statements and step through the code.
This way you can see what is happening or changing line by line.
这篇关于如果陈述不起作用.帮助!的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文