我正在尝试从存储在数据库中的数据中加载组合框中的某个项目。 单击时我有一个按钮,它会在相关的框中正确填充公司详细信息。 在数据库中我有三个字段,如
Dev = Yes or No
Fin = Yes or No
Net = Yes or No
其中Dev是字段名称,Yes是存储在数据库中的文本。
我阅读了读者公司的所有细节,所以我试过这样的事情。
If reader(14).ToString = "Yes" then
combobox1.items.add("Developer")
else if reader(15).ToString = "Yes" Then
combobox1.items.add("Finance")
Else if reader(15).ToString = "Yes" Then
combobox1.items.add("Networking")
End iF
没有任何想法如何实现这个目标?
答案 0 :(得分:0)
试试这个,你在代码中检查这个条件else if reader(15).ToString = "Yes" Then
两次,可能这对你来说可能是个问题。
If reader(14).ToString = "Yes" then
combobox1.items.add("Developer")
else if reader(15).ToString = "Yes" Then
combobox1.items.add("Finance")
'--------------\/ May be this could be your problem.
Else if reader(15).ToString = "Yes" Then
combobox1.items.add("Networking")
End iF
请考虑这一点,这可以解决您的套管问题。
If reader("Dev").ToString.ToUpper() = "YES" then
combobox1.items.add("Developer")
else if reader("Fin").ToString.ToUpper() = "YES" Then
combobox1.items.add("Finance")
Else if reader("Net").ToString.ToUpper() = "YES" Then
combobox1.items.add("Networking")
End iF
答案 1 :(得分:0)
使用Equals
检查条件的值,字段的名称和ElseIf
(所有在一起),并检查是否能解决您的问题:
If reader("Dev").ToString.Equals("yes", StringComparison.InvariantCultureIgnoreCase) Then
ComboBox1.Items.Add("Developer")
ElseIf reader("Fin").ToString.Equals("yes", StringComparison.InvariantCultureIgnoreCase) Then
ComboBox1.Items.Add("Finance")
ElseIf reader("Net").ToString.Equals("yes", StringComparison.InvariantCultureIgnoreCase) Then
ComboBox1.Items.Add("Networking")
EndIf
但如果在数据库中以不同的方式存储值,那会更好。例如,您只能在一个字段中存储该类型。例如,“Dev”,“Fin”或“Net”。或者甚至更好,有一个带有id,值和代码的新表,只使用id。
答案 2 :(得分:0)
If reader(9).ToString = "yes" Then
ComboBox1.Items.Add("Developer")
ElseIf reader(9).ToString = "no" Then
End If
If reader(11).ToString = "yes" Then
ComboBox1.Items.Add("Finance")
ElseIf reader(11).ToString = "no" Then
End If
If reader(10).ToString = "yes" Then
ComboBox1.Items.Add("Networking")
ElseIf reader(10).ToString = "no" Then
End If